Waline的Docker部署及启用评论通知

Docker自部署

Waline 是一款从 Valine 衍生的 带后端 的评论系统.
因为默认使用的Vercel部署时不时会抽风,无法访问或者延时拉满,所以就想自部署
参照官方文档的部署教程 点我跳转

  1. 先在网站目录下新建一个文件夹,用以区分其他项目及部署Waline
    此处我新建了一个waline的目录

  2. 打开终端,使用cd指令切换至新建的目录下

    1
    2
    3
    # cd 指令后的路径更改为你新建的文件夹路径
    # 此处的 /opt/1panel/apps/openresty/openresty/www/sites/waline 是我新建的文件夹路径
    cd /opt/1panel/apps/openresty/openresty/www/sites/waline
  3. 拉取Waline并构建镜像

    1
    2
    3
    4
    # 拉取Waline文件
    git clone https://github.com/walinejs/waline.git && cd waline
    # 使用Docker命令构建镜像
    docker build -t lizheming/waline -f packages/server/Dockerfile .

    执行完后就可以在 可视化面板 或者 使用命令 docker images 查看到构建的镜像

  4. 运行Docker镜像
    使用以下命令运行镜像,命令中的 -p 后面的 8360:8360 代表的是映射的端口
    LEAN_IDLEAN_KEYLEAN_MASTER_KEY 分别对应的是后台 APP ID, APP KEY, Master Key
    如果非 LeanCloud 国际版用户的话需要在后台绑定已备案域名并配置 LEAN_SERVER

    1
    2
    3
    4
    5
    6
    docker run -d 
    -e LEAN_ID=xxx \
    -e LEAN_KEY=xxx \
    -e LEAN_MASTER_KEY=xxx \
    -p 8360:8360 \
    lizheming/waline

至此,已经成功将Waline使用Docker部署到自己的服务器上了,后续使用反向代理绑定域名即可

注意在部署完Waline后进入http(s)://domain.com/ui 进行注册,第一位注册者即为管理员

开启评论通知

之前研究了好久一直没成功,各种报错,捣鼓了半天终于整明白了
开启评论通知就需要添加以下环境变量,如何添加环境变量

参数 释义
SMTP_SERVICE SMTP 邮件发送服务提供商。
SMTP_USER SMTP 邮件发送服务的用户名,一般为登录邮箱
SMTP_PASS SMTP 邮件发送服务的密码,一般为邮箱登录密码,部分邮箱(例如 163)是单独的 SMTP 密码
SMTP_SECURE 是否使用 SSL 连接 SMTP
SITE_NAME 网站名称,用于在消息中显示
SITE_URL 网站地址,用于在消息中显示
AUTHOR_EMAIL 博主邮箱,用来接收新评论通知。如果是博主发布的评论则不进行提醒通知

以下是选填的环境变量:

参数 释义
SENDER_NAME 自定义发送邮件的发件人
SENDER_EMAIL 自定义发送邮件的发件地址
MAIL_SUBJECT 自定义评论回复邮件标题
MAIL_TEMPLATE 自定义评论回复邮件内容
MAIL_SUBJECT_ADMIN 自定义新评论通知邮件标题
MAIL_TEMPLATE_ADMIN 自定义新评论通知邮件内容

上述的 SMTP_SERVICE 变量请查看 支持的运营商
如果文件中包含你的运营商则环境变量填写对应的名称即可
例如此处设置Gmail,在上面支持的运营商链接中找到Gmail,如下图所示
Gmail
然后环境变量就可以这样填写:SMTP_SERVICE=Gmail
如果在官方文件中没找到你的运营商,则说明你的运营商不受支持,你必须另外填写 SMTP_HOSTSMTP_PORT两个环境变量

  • SMTP_HOST: SMTP 服务器地址,一般可以在邮箱的设置中找到。
  • SMTP_PORT: SMTP 服务器端口,一般可以在邮箱的设置中找到。

下面是我个人的配置,我是用的是QQ的发件,所以 SMTP_PASS 使用的是QQ的授权码

1
2
3
4
5
6
7
8
9
LEAN_ID=我的APP ID(无需双引号)
LEAN_KEY=我的APP Key(无需双引号)
LEAN_MASTER_KEY=我的Master Key(无需双引号)
SMTP_SERVICE=QQ(无需双引号)
SMTP_USER=sukaps@qq.com(无需双引号)
SMTP_PASS=授权码(无需双引号)
SITE_NAME="Sukap‘s Blog" (需双引号)
SITE_URL="https://blog.sukap.cn" (需双引号)
AUTHOR_EMAIL="xsukap@gmail.com" (需双引号)

添加环境变量

我就是在这里设置不对捣鼓半天

  1. 如果是可视化平台进行管理,可直接在可视化界面添加保存,此处我是用的是1Panel面板
    Docker
    直接将环境变量粘贴进去保存,然后重启容器即可

  2. 如果是非可视化平台,则需要先停止容器运行,然后启动容器时添加变量
    如下所示,在-e后添加环境变量,然后执行即可

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    docker run -d 
    -e LEAN_ID=我的APP ID \
    -e LEAN_KEY=我的APP Key \
    -e LEAN_MASTER_KEY=我的Master Key \
    -e SMTP_SERVICE=QQ \
    -e SMTP_USER=sukaps@qq.com \
    -e SMTP_PASS=授权码(无需双引号)\
    -e SITE_NAME="Sukap‘s Blog" \
    -e SITE_URL="https://blog.sukap.cn" \
    -e AUTHOR_EMAIL="xsukap@gmail.com" \
    -p 8360:8360 \
    lizheming/waline