Twikoo评论系统的配置

数据库创建

MongoDB Atlas 获取 MongoDB 连接字符串

MongoDB Atlas 是 MongoDB Inc 提供的 MongoDB 数据库托管服务。免费账户可以永久使用 500 MiB 的数据库,足够存储 Twikoo 评论使用。

  1. 申请 MongoDB AtLas 账号
  2. 创建免费 MongoDB 数据库,区域推荐选择离 Twikoo 后端(Vercel / Netlify / AWS Lambda / VPS)地理位置较近的数据中心以获得更低的数据库连接延迟。如果不清楚自己的后端在哪个区域,也可选择 AWS / Oregon (us-west-2),该数据中心基建成熟,故障率低,且使用 Oregon 州的清洁能源,较为环保
  3. 在 Database Access 页面点击 Add New Database User 创建数据库用户,Authentication Method 选 Password,在 Password Authentication 下设置数据库用户名和密码,建议点击 Auto Generate 自动生成一个不含特殊符号的强壮密码并妥善保存。点击 Database User Privileges 下方的 Add Built In Role,Select Role 选择 Atlas Admin,最后点击 Add User

487e7fa859b0569d23613.png

  1. 在 Network Access 页面点击 Add IP Address 添加网络白名单。因为 Vercel / Netlify / Lambda 的出口地址不固定,因此 Access List Entry 输入 0.0.0.0/0(允许所有 IP 地址的连接)即可。如果 Twikoo 部署在自己的服务器上,这里可以填入固定 IP 地址。点击 Confirm 保存

fdf9627674c6cf83d2480.png

  1. 在 Database 页面点击 Connect,连接方式选择 Drivers,并记录数据库连接字符串,请将连接字符串中的 <username>:<password> 修改为刚刚创建的数据库 用户名:密码

022057a0a0a63f0f79477.png

  1. (可选)默认的连接字符串没有指定数据库名称,Twikoo 会连接到默认的名为 test 的数据库。如果需要在同一个 MongoDB 里运行其他业务或供多个 Twikoo 实例使用,建立加入数据库名称并配置对应的 ACL。

连接字符串包含了连接到 MongoDB 数据库的所有信息,一旦泄露会导致评论被任何人添加、修改、删除,并有可能获取你的 SMTP、图床 token 等信息。请妥善记录这一字符串,之后需要填入到 Twikoo 的部署平台里。

云函数部署

Hugging Face 部署

  1. 申请 MongoDB Atlas 账号,获取 MongoDB 连接字符串
  2. 申请 Hugging Face 账号
  3. 登录,点击 Spaces - Create new Space

d956cc7ce15167766e931.jpg

  1. 输入 Space name,Select the Space SDK 选择 Docker,Choose a Docker template 选择 Blank,Space hardware 选择 FREE,选择 Public,点击 Create Space

5260aa7489ac82bd6e79d.jpg

  1. 进入刚刚创建的 Space,点击页面上方的 Settings,滚动到 Variables and secrets 部分,点击 New secret,Name 输入 MONGODB_URI,Value 输入前面记录的数据库连接字符串,点击 Save

bf4ed3656a94893158970.jpg

  1. 点击页面上方的 Files - Add file - Create a new file

3122b23f216ed59631bf9.jpg

  1. 在 Name your file 中输入 Dockerfile,在 Edit 区域输入以下内容
1
2
3
FROM imaegoo/twikoo
ENV TWIKOO_PORT 7860
EXPOSE 7860

fab16852ca551fb9359d3.jpg

  1. 点击 Commit new file to main
  2. 点击右上角 Settings 右方的菜单(三个点)图标 - Embed this Space,Direct URL 下的内容(例如 https://xxx-xxx.hf.space)即为您的环境 id

9771eccfdbe1c4fa93b9f.jpg

如果你需要自定义域名

自定义域名教程由 Hoshino-Yumetsuki 提供

ps:除了 CF_ZERO_TRUST_TOKEN 这个环境变量以外,其他环境变量的配置方式与上一步相同

  1. 申请 Cloudflare Zero Trust,关于申请方式请自行查找

d216b41a23293cb02a5bc.png

  1. 添加一条隧道,连接方式选择 Cloudflared,名称任意

e1f153d24ee16c52721b1.png

  1. 添加一个 Public Hostname,回源选择 HTTP,端口选择 8080
  2. Clone Twikoo 仓库,找到 src\server\hf-space
  3. 去 Hugging Face 创建一个 Space,然后 Clone 下来,将 hf-space 文件夹内的所有内容复制进去
  4. 在 Hugging Face Space 的设置中添加一个环境变量,变量名 CF_ZERO_TRUST_TOKEN,值是 Tunnels 给的令牌(删掉 cloudflared.exe service install,只保留令牌部分)

88b7e034e7a21be971555.png

  1. Push 到 Hugging Face Space 仓库

前端部署

在 Hexo Butterfly 主题使用

cd2bb06cb216e9f7308e8.png