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服务暴露到公网。



![[徒步]宁波九龙爱心线](https://i.cuger.cn/b/d3c7f637-f0a4-4cfb-8e2b-23631aaba006.jpg)
![[徒步]仙居公盂徒步+丽人谷溯溪(多图)](https://i.cuger.cn/b/d9792528-29aa-4af0-98b5-979472c57b77.jpg)

![[出差]内蒙草原风光](https://i.cuger.cn/b/0039bc8f-15e8-4039-a286-9fb1d1af9e33.jpg)
![[徒步]浙东小九寨](https://i.cuger.cn/b/4f027072-13ba-4833-b61d-409be4c503f8.jpg)