使用Docker自建一个Twikoo本地评论系统

转载声明:本文转载自 网笙久久的博客 - 使用Docker自建一个Twikoo本地评论系统,原作者:网笙久久

一、关于 Twikoo 的介绍

Twikoo 项目的官网: Twikoo

一个简洁、安全、免费的静态网站评论系统。

二、环境准备

在教程正式开始之前需要准备以下环境。

注意:此教程只适合您在公网拥有一台属于自己的服务器或者本地内网测试环境下使用。

以下是需要的必备条件
一台可公网访问的服务器
一个您自己的域名,例:我的就是 wsjj.top
一份 SSL 证书,确保您的域名可通过 https 访问

三、安装 Docker 容器环境

这里我不再赘述,可以参考我以前写过的教程【容器应用系列教程】容器介绍、Docker 的安装和基本操作。

四、部署 Twikoo 网站评论系统

1. 拉取 Twikoo 的镜像

1
docker pull imaegoo/twikoo:latest

2. 运行 Twikoo 镜像

1
docker run --name twikoo -e TWIKOO_THROTTLE=1000 -p 8080:8080 -v ${PWD}/data:/app/data -d imaegoo/twikoo:latest

以下是参数的详情:

参数 说明
–name 指定容器名字
-e 传递环境参数
-p 映射容器内部8080端口到外部8080端口
-v 持久数据挂载
-d 容器后台运行

3. 使用 IP+端口的方式测试是否成功运行

打开浏览器访问服务器 IP+8080 端口测试,API 服务是否启动成功。如果成功,您将看到 Twikoo 的欢迎页面。

twikoo

4. 建立反向代理站点

这里需要您拥有个域名和域名相应的 SSL 证书,我这里不做过多赘述,网上有很多关于这方面的教程,购买个域名和申请免费证书都是一条龙服务。

我这里使用 1panel 进行演示

4.1 安装 Nginx 服务器

这里不再做过多赘述,使用 1panel 部署 openresty 应用即可。

4.2 创建反向代理站点

在 1panel 中创建反向代理站点,配置如下:

nginx

  • 代理目标:http://127.0.0.1:8080
  • 域名:您的域名(如 twikoo.example.com

4.3 为站点配置 HTTPS 访问

twikoo1

4.4 在域名解析商 DNS 相关解析中,添加域名记录

在您的域名解析商(如腾讯云 DNS)中添加 A 记录或 CNAME 记录,指向您的服务器 IP。

4.5 测试域名访问

如果出现 Twikoo 的欢迎页面,即证明部署成功。

twikoo

五、在相关静态网页或站点引用评论系统

如果您的 hexo 这种博客系统可以参考官方的引用文档

如果您是第三方博客或者自己开发的网页,可以把以下内容添加到网页 <body> 标签中:

1
2
3
4
5
6
7
8
9
10
11
<div id="tcomment"></div>
<script src="https://cdn.jsdelivr.net/npm/twikoo@1.6.44/dist/twikoo.min.js"></script>
<script>
twikoo.init({
envId: 'https://您的环境id', // 这里的环境ID就是上面配置的反向代理站点地址
el: '#tcomment', // 容器元素
// region: 'ap-guangzhou', // 环境地域,默认为 ap-shanghai,腾讯云环境填 ap-shanghai 或 ap-guangzhou;Vercel 环境不填
// path: location.pathname, // 用于区分不同文章的自定义 js 路径,如果您的文章路径不是 location.pathname,需传此参数
// lang: 'zh-CN', // 用于手动设定评论区语言,支持的语言列表 https://github.com/twikoojs/twikoo/blob/main/src/client/utils/i18n/index.js
})
</script>

根据您服务器的地址,选择您合适的 CDN 加速地址,注意 CDN 加速地址的版本必须和 Docker 搭建的后端版本相对应。

5.1 推荐在中国使用

  • https://registry.npmmirror.com/twikoo/1.6.44/files/dist/twikoo.min.js
  • https://s4.zstatic.net/npm/twikoo@1.6.44/dist/twikoo.min.js

5.2 推荐在全球使用

  • https://cdn.jsdelivr.net/npm/twikoo@1.6.44/dist/twikoo.min.js

5.3 备用选项

  • https://s4.zstatic.net/ajax/libs/twikoo/1.6.41/twikoo.min.js
  • https://lib.baomitu.com/twikoo/1.6.39/twikoo.min.js

六、测试网页评论系统

如果您的站点出现评论框界面,恭喜你评论系统已经搭建完成了!

twikoo2

总结

通过以上步骤,您就可以使用 Docker 搭建一个独立的 Twikoo 评论系统了。相比使用第三方服务,自建评论系统有以下优势:

  1. 数据自主控制:所有评论数据存储在自己的服务器上
  2. 无依赖第三方:不依赖第三方服务,更加稳定
  3. 自定义配置:可以根据需求自定义配置和功能
  4. 隐私保护:评论数据不会泄露给第三方

希望这篇教程对您有所帮助!

参考链接