自建giscus服务

今天,我的giscus崩了,因为太慢了,一气之下怒了一下🤣,便自己自建

若你也遇到但不想动手,用我的URL即可!

创建一个GitHub App

前往这个页面创建一个Github App

注册一个新的 GitHub App

image-20240411162146774

填入回调函数地址

image-20240411162400664

  • 使用 https://[YOUR-DOMAIN-HERE]/api/oauth/authorized 这样的格式作为回调地址,将中括号里的内容替换成你的域名。
    例如: https://giscus.app/api/oauth/authorized
  • 将“Expire user authorization tokens”取消勾选。

编辑权限

Discussions开启读写权限:

image-20240411162855808

用户权限

选当前用户就行了:

image-20240411162935813

其他设置

  • Webhook,不需要使用取消勾选Active
  • Post installation,不需要使用

创建GitHub App

image

点击这个按钮

生成并下载Private keys

image-20240411163318459

生成并记录Client secrets

image-20240411163342018

记录app id 和 client id 备用

image-20240411163426135

安装APP

image-20240411163507793

这里我们不要【【【【 suprbase 】】】】】】】】因为我懒

在Vercel部署Giscus

fork giscus项目

首先将giscus项目fork到自己仓库。

image-20240411164133004

在vercel部署

登录vercel,选择刚forkgiscus仓库,直接使用默认的参数部署。

配置域名

将前面预设好的域名映射一下。

image-20240411165053003

添加配置

在Setting页面,增加相关配置参数。

image-20240411164448843

这些参数全部来自前面步骤记录下来的内容,字段参考如下:

NEXT_PUBLIC_GISCUS_APP_HOST=https://yourdomain.com
NEXT_PUBLIC_REVALIDATE_FIRST_PAGE=true
GITHUB_APP_ID=APP ID
GITHUB_CLIENT_ID=APP CLIENT ID
GITHUB_CLIENT_SECRET=GITHUB CLIENT SECRET
GITHUB_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nENTER-KEY-HERE-WITHOUT-LINE-BREAKS\n-----END RSA PRIVATE KEY-----" # vercel可以直接将复制下来的值拷贝进去
ENCRYPTION_PASSWORD= # 这个好像可以随便写
SUPABASE_KEY= # SUPABSE的KEY
SUPABASE_URL= # SUPABSE的项目URL
SUPABASE_INSTALLATION_ACCESS_TOKENS_TABLE=installation_access_tokens
# The following values are only for CORS-related stuff in the API.
# The usage is different from the values in giscus.json.
ORIGINS=["https://yourdomain.com", "https://yourdomain.com", "https://www.yourdomain.com"]
ORIGINS_REGEX=["http://localhost:[0-9]+"]

在Stellar中应用

修改主题配置文件,将Giscus的src属性改成自己的域名就可以了。

######## Comments ########
comments:
service: giscus # beaudar, utterances, giscus, twikoo, waline, artalk
# giscus
# https://giscus.app/zh-CN
giscus:
src: https://yourdomain.com/client.js # https://giscus.app/client.js<br