前言
最近在浏览自己博客的时候发现一些问题。
博客的Waline评论系统服务端是托管在vercel平台的,因为是国外网站,所以访问会比较慢。
但是最近发现有时候还会出现访问不了的情况,这让我很头痛,所以打算自己本地部署Waline服务端。
如需使用Docker部署Waline评论服务端,请提前做好以下准备:
启动容器
使用以下命令启动容器,记得开放8360端口
1 2 3 4 5 6 7 8 9
| sudo docker run -d \ -e LEAN_ID=xxx \ -e LEAN_KEY=xxx \ -e LEAN_MASTER_KEY=xxx \ -e LEAN_SERVER=xxx \ -p 8360:8360 \ --restart=always \ --name waline-server \ lizheming/waline
|
参数解释
参数 | 解释 |
---|
-e LEAN_ID=xxx | LeanCloud的APP ID |
-e LEAN_KEY=xxx | LeanCloud的APP KEY |
-e LEAN_MASTER_KEY=xxx | LeanCloud的Master Key |
-e LEAN_SERVER=xxx | 如果LeanCloud为国内版,需要加上绑定LeanCloud的域名 |
-p 8360:8360 | 映射8360端口 |
–restart=always | 系统重启时容器也启动 |
–name waline-server | 容器名 |
配置SSL
如需使用HTTPS访问,则需配置SSL,使用Nginx配置SSL。
首先需要下载证书,得到.pem
与.key
文件,在Nginx配置文件中添加如下配置:
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 26 27 28 29 30 31 32 33
| server { listen 80; listen 443 ssl http2; # 域名 server_name waline-server.insectmk.cn; if ($server_port !~ 443){ rewrite ^(/.*)$ https://$host$1 permanent; } # ssl证书的pem文件路径 ssl_certificate /root/Token/SSL/waline-server.insectmk.cn_nginx/waline-server.insectmk.cn_bundle.pem; # ssl证书的key文件路径 ssl_certificate_key /root/Token/SSL/waline-server.insectmk.cn_nginx/waline-server.insectmk.cn.key; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security "max-age=31536000"; location / { proxy_pass http://127.0.0.1:8360/; index index.html index.htm; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header REMOTE-HOST $remote_addr; add_header X-Cache $upstream_cache_status; } access_log /www/wwwlogs/nginx/product/ssl-waline-server.log; }
|
重载配置后就能使用HTTPS访问了。
更新
想要更新Docker版本的Waline服务端,只需要重新拉取镜像即可更新。
参考Waline官方文档。
环境变量
参考服务端环境变量
评论者等级
通过增加LEVELS
环境变量增加评论者等级标签,变量值为一串给定的数的逗号拼接,可设置为0,10,20,50,100,200
,即:
1
| LEVELS=0,10,20,50,100,200
|
0,10,20,50,100,200
的含义如下:
等级 | 条件 | 默认等级标签 |
---|
0 | 0 <= count < 10 | 潜水 |
1 | 10 <= count < 20 | 冒泡 |
2 | 20 <= count < 50 | 吐槽 |
3 | 50 <= count < 100 | 活跃 |
4 | 100 <= count < 200 | 话痨 |
5 | 200 <= count | 传说 |
游客头像
通过配置GRAVATAR_STR
环境变量,默认参数https://seccdn.libravatar.org/avatar/{{mail|md5}}
,即:
1
| GRAVATAR_STR=https://seccdn.libravatar.org/avatar/{{mail|md5}}
|
游客需要到Gravatar注册并修改自己的头像,否则默认头像会很丑。
参考头像配置|Waline
当然你也可以填写为你自定义的头像链接。
我的容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| sudo docker run -d \ -e LEAN_ID=xxxxxxxxxxxxxxxxxxxxx \ -e LEAN_KEY=xxxxxxxxxxxxxxxxxxxxx \ -e LEAN_MASTER_KEY=xxxxxxxxxxxxxxxxxxxxx \ -e LEAN_SERVER=waline-data.insectmk.cn \ -e SMTP_SERVICE=QQ \ -e SMTP_USER=3067836615@qq.com \ -e SMTP_PASS=xxxxxxxxxxxxxxxxxxxxx \ -e SMTP_SECURE=true \ -e SITE_NAME="InsectMk's Blog" \ -e SITE_URL=https://insectmk.cn \ -e AUTHOR_EMAIL=2514378105@qq.com \ -e SENDER_NAME=InsectMk \ -e SENDER_EMAIL=3067836615@qq.com \ -e MAIL_SUBJECT="您在InsectMk's Blog上的评论有回复啦!" \ -e MAIL_SUBJECT_ADMIN="InsectMk's Blog有新评论啦!" \ -e LEVELS="0,10,20,50,100,200" \ -e GRAVATAR_STR="https://insectmk.cn/static/img/head/default-avatar.jpg" \ -p 8360:8360 \ --restart=always \ --name waline-server \ lizheming/waline
|
参考文章
Waline独立部署
Nginx配置Https(详细、完整)