Waline私有化部署(Docker+VPS)
此前用的 Waline 评论系统是采用Vercel+LeanCloud,最近频繁出毛病。
故决定采用docker
进行私有化部署。
部署条件
一台有公网 IP 的服务器(用于docker
部署或反向代理)
流程
Waline
数据导出- 准备
waline.sqlite
文件 docker-compose.yml
配置nginx
反向代理配置Waline
数据导入
Waline 数据导出
在现有的 Waline 中,将现有的评论数据导出。路径为管理→导入导出→导出
,得到waline.json
文件。
waline.sqlite 准备
本次部署采用 SQLite 单文件数据库,需要准备 SQLite 数据库文件。官方下载链接
但是采用这个文件部署的话,你会发现你将无法登录!因为官方提供的
waline.sqlite
文件的用户表是空白!
在官方waline.sqlite
的基础上,我添加了默认管理员账号信息,并生成了自制waline.sqlite
文件,下载路径在这。
所添加的默认用户名密码为:
- username: admin@admin.com
- password: admin
docker 部署
创建docker-compsoe.yml
登录到服务器,创建~/docker-waline
文件夹,添加docker-compsoe.yml
文件,下面是我自用的docker-compsoe.yml
文件:
1 | # docker-compose.yml |
在环境变量中,参考自己此前在 Velcel 中的配置,搬运过来即可,详细配置项可参考官方文档。
数据库配置
创建~/docker-waline/data
文件夹,并将此前下载的waline.sqlite
文件复制到其下。
最终目录结构如下:
1 | |--docker-waline |
docker 运行
采用以下命令,拉起Waline
服务。
1 | docker-compose up -d |
nginx 配置
docker
跑起来后是运行在本地8360
端口,需要反向代理到指定域名。
将原解析到Vervel
的域名,解析到自己的服务器,并配置好nginx
,然后参照配置nginx
反向代理。
1 | SSL自动续期验证 |
数据导入恢复
配置完成nginx
并可成功访问后,用默认用户名密码登录系统。
- username: admin@admin.com
- password: admin
登录成功后,管理→导入导出→导入
,选择Waline.json
导入原来的评论数据。
等待两分钟即可。
完成后可删除默认用户名&密码,但需要操作 SQLite 文件。
另一个简单的方法是将其转为普通用户,并将密码重置为复杂密码。
数据定期备份
Q&A
- 如何升级/更新/修改
Waline
配置文件?
1 | 关闭服务 |
- NAS 用户如何部署?
docker
配置相同,需搭配内网穿透(如frp
)或DDNS
食用,将本地waline
服务暴露到公网。