自建Twikoo评论系统

Twikoo 是一个简洁、安全、免费的静态网站评论系统 搭配主流静态博客系统使用还是很舒服的,博主是Docker私有部署,记录下搭建过程希望能帮助到后来人。

安装 Docker和Docker-compose

更新、安装必备软件

1
apt-get update && apt-get install -y wget curl

安装 Docker

1
wget -qO- get.docker.com | bash

查看 Docker 版本

1
docker -v

开机启动

1
systemctl enable docker

安装 Docker-compose

1
curl -L "[https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$](https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$)(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

赋予权限

1
chmod +x /usr/local/bin/docker-compose

查看版本

1
docker-compose --version

优化Docker(来自烧饼博客

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘(泪的教训)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
cat > /etc/docker/daemon.json <<EOF

{

    "log-driver": "json-file",

    "log-opts": {

    "max-size": "20m",

    "max-file": "3"

    },

    "ipv6": true,

    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",

    "experimental":true,

    "ip6tables":true

}

EOF

重启Docker服务

1
systemctl restart docker

安装Twikoo

拉取Twikoo镜像

1
docker pull imaegoo/twikoo:latest

创建并启动容器

1
docker run -p 8099:8080 -v /opt/hugo/twikoo/data:/app/data -d --name=twikoo imaegoo/twikoo:latest

-v 为本地映射目录 有需求可以自行更改

此时用http://ip:端口 可以查看是否成功安装

返回"code":100,“message”:“Twikoo 云函数运行正常 即为正确安装

更新Twikoo前端

/posts/b4deaa4f/sj.webp

FixIt主题为例,找到

/themes/FixIt/assets/lib/twikoo/twikoo.all.min.js 文件中

修改版本号为后端一致(后端1.16的话 前端twikoo.all.min.js文件中版本号也要跟随修改)

在主题中启动twikoo

FixIt主题为例,在配置文件中找到相应的配置位置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
Twikoo 评论系统设置 (https://twikoo.js.org/)
[params.page.comment.twikoo]
enable = true
envId = "http://51.81.22x.3:8099";
region = ""
path = ""
visitor = true
commentCount = true
#  启用 lightgallery 支持
lightgallery = true
#  启用 Katex 支持
katex = false

修改envId 值为你刚刚安装的Twikoo地址

如果主站开启ssl 那么Twikoo也必须开启不然无法对接(利用nginx反代)

Nginx 反代

1
2
3
4
5
6
7
8
9
location / {
proxy_set_header Host $host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8099;
}
Hunter 支付宝支付宝
Hunter 微信微信
0%