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
|
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前端
以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;
}
|