惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
IT之家
IT之家
V
V2EX
Jina AI
Jina AI
V
Visual Studio Blog
有赞技术团队
有赞技术团队
博客园 - 司徒正美
博客园 - 叶小钗
The Cloudflare Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
Google Online Security Blog
Google Online Security Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
N
News and Events Feed by Topic
N
News and Events Feed by Topic
The Last Watchdog
The Last Watchdog
W
WeLiveSecurity
月光博客
月光博客
Security Archives - TechRepublic
Security Archives - TechRepublic
Webroot Blog
Webroot Blog
SecWiki News
SecWiki News
博客园_首页
罗磊的独立博客
量子位
Latest news
Latest news
I
Intezer
V
Vulnerabilities – Threatpost
A
Arctic Wolf
Last Week in AI
Last Week in AI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
S
SegmentFault 最新的问题
S
Security Affairs
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News | PayPal Newsroom

遐说

2026第一场日出日落-黄山 [徒步]宁波九龙爱心线 [徒步]仙居公盂徒步+丽人谷溯溪(多图) 文献引用批量标注蓝色-Zotero/EndNote [出差]内蒙草原风光 [徒步]浙东小九寨 [徒步]西湖小猫线 微软Office365家庭版拼车5年180 2024浏阳跨年烟火 一路向北-广西 落日余晖——武汉东湖 博士论文盲审通过 青海出差 我开盒了我自己 hexo-butterfly+artalk无法显示文章PV浏览次数 记某站字体混淆解析方案 记第一次进藏 2024川西大环线 Python读取NetCDF文件-裁剪&计算 2024武汉东湖樱花园 zotero批量修改条目语言解决”等”和”et al”混排问题 torch_geometric_temporal安装报错找不到to_dense_adj 武汉冻雨&乡村春节 云南镇雄县凉水村滑坡:卫星影像解析 博客聚合平台RSS订阅-BlogFinder&博友圈&十年之约 腾讯云CDN正式取消免费10G流量包 2023跨年闲逛武汉 观感|小米SU7技术发布会 【留痕】解密微信聊天记录工具:年度报告、聊天导出一键搞定! 小米电脑管家 vs. MIUI+: 手机与PC协同体验大比拼! rclone数据同步使用记录(OneDrive+COS+AList) 科研绘图工具 秋意渐浓 Docker buildx交叉编译Python记录 Word分章节图片公示编号方法 Lightroom+Google Map生成个人足迹 评论|如何看待面青地项目允许博士后变更依托单位 Memos添加utterances评论区 收到明信片啦! [Adobe]Your Adobe app is not genuine解决方案-Clash版 尝试配置PicGo-Core日志输出等级 巴东三峡巫峡长 摄影|东湖绿道 旅行|彩云之南 超实用的铁路地图网站 新冠首阳 树莓派netplan连接开放网络(无密码WIFI) 周末|流浪地球2|维也纳展映 维也纳黄昏&夜景 Sony A7M4/M3欧版解锁多国语言 GRASS斜坡单元分割插件(r.slopeunits) windows移植方案 周末|Prater公园|夜景 快乐五一|布拉格Praha 周末|Melk小镇一日游 CDN流量太贵?图床图片批量压缩替换 维也纳|生活感受|交通|物价|通货膨胀 GitHub Remark|给Gay Hub的小伙伴加备注 周末自制烤冷面-不想干活 布达佩斯|匈牙利游记(多图) Notion2Markdown联动发布Hexo博客-自动化部署方案 SPI/TWI水文参数计算公式-ArcGIS Pro 【再见】难得是欢聚, 最是离别多 拯救者R9000P氮化镓电源适配器测评 今天你的华为P30无限重启了吗? pyTranscriber字幕生成软件(带代理版本) Adobe Illustrator错误代码160解决方案 EndNote导入PDF文件关联(SCI-RIS-Helper)插件 ZED-F9PK4 RTK GNSS模块使用指南 pyeemd安装教程--win10 wsl + ubuntu 樱花草 - 小学回忆 咸九高速-幕阜山扶贫攻坚重点项目 NXP i.MX6ULL平台Nodejs & npm 安装教程 全国分省12.5米DEM数字高程数据(ALOS 12.5m)下载 2018&2010全国四级行政区划(省-市-区/县-街道/乡镇)c 全国/湖南省/浙江省水文监测站基本数据&湖北省水文观测站历史数据 天舟二号发射成功 解决方案:Grammarly for Word 无法使用 SDZM: Software for determining shear failure regions of rock joints CNKI知网油猴插件-一键导入Endnote&下载PDF RSS 订阅地大新闻 - CUG News Word 公式字体替代方案 ArcGIS License Manager 无法启动 - Sorry, this application cannot run under a virtual machine html table 批量转 Excel(xlsx) ImageColorAnalysisTool-图像颜色分析工具-Matlab GUI版 matlab柱状图(bar)转折线图(line)方案 图像主要颜色分析工具(pyImageColorAnalysisTool) 科研资料备份同步方案(FreeFileSync) 海量文献自定义格式整理方法(EndNote) CUG校外访问内网网站方法(官方VPN) 通过三个点绘制三维圆弧-python 记挖竹笋 日常实用小软件 长江流域三峡库区水情水位信息获取 EndNote导入文献期刊名-J无法识别解决方案 pymongo 使用记录 Redis学习记录 Laravel 5.6 学习记录 文件名批量提取工具介绍及使用教程 win7x64 下 redis 的安装 CI框架常用数据库操作技巧
Waline私有化部署(Docker+VPS)
Dorad · 2023-12-14 · via 遐说

发表于|更新于|博客工具

|总字数:1k|阅读时长:4分钟|浏览量:|

此前用的 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
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

version: "3"

services:
waline:
container_name: waline
image: lizheming/waline:latest
restart: always
ports:
- 127.0.0.1:8360:8360
volumes:
- ${PWD}/data:/app/data
environment:
TZ: "Asia/Shanghai"
SQLITE_PATH: "/app/data"
JWT_TOKEN: "d4as56d465sa"
SITE_NAME: "遐说-Dorad"
SITE_URL: "https://blog.cuger.cn"
SECURE_DOMAINS: "blog.cuger.cn,mt.cuger.cn"
AUTHOR_EMAIL: "ddxid@outlook.com"
DISABLE_REGION: "true"
DISABLE_USERAGENT: "false"
IPQPS: 50,
COMMENT_AUDIT: "false"
SMTP_SERVICE: ""
SMTP_USER: ""
SMTP_SECURE: "true"
SMTP_PASS: ""
SENDER_NAME: "Dorad"

在环境变量中,参考自己此前在 Velcel 中的配置,搬运过来即可,详细配置项可参考官方文档

¶数据库配置

创建~/docker-waline/data文件夹,并将此前下载的waline.sqlite文件复制到其下。

最终目录结构如下:

1
2
3
4
|--docker-waline
|--docker-compose.yml
|--data
|--waline.sqlite

¶docker 运行

采用以下命令,拉起Waline服务。

1
docker-compose up -d

¶nginx 配置

docker跑起来后是运行在本地8360端口,需要反向代理到指定域名。

将原解析到Vervel的域名,解析到自己的服务器,并配置好nginx,然后参照配置nginx反向代理。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# SSL自动续期验证
location ^~ /.well-known/ {
root /data/wwwroot/cuger.cn/pl.cuger.cn;
}

# 反向代理设置
location / {
proxy_pass http://127.0.0.1:8360;
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;
# cache
add_header Cache-Control no-cache;
expires 12h;
}

官方 Nginx 配置参考

¶数据导入恢复

配置完成nginx并可成功访问后,用默认用户名密码登录系统。

  • username: admin@admin.com

  • password: admin

登录成功后,管理→导入导出→导入,选择Waline.json导入原来的评论数据。

等待两分钟即可。

完成后可删除默认用户名&密码,但需要操作 SQLite 文件。
另一个简单的方法是将其转为普通用户,并将密码重置为复杂密码。

¶数据定期备份

  • Waline自身提供了数据导入导出功能,可手动定期备份

  • 可在服务器设置cron任务,定期将waline.sqlite文件备份至云盘,可参考rclone数据同步方案

¶Q&A

  • 如何升级/更新/修改Waline配置文件?

1
2
3
4
5
6
7
8
# 关闭服务
docker-compose down
# 升级
docker-compose pull
# 修改配置文件docker-compose.yml

# 重新拉起服务
docker-compose up -d
  • NAS 用户如何部署?

docker配置相同,需搭配内网穿透(如frp)或DDNS食用,将本地waline服务暴露到公网。

¶参考

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 遐说

请喝果茶

  • Wechat

    Wechat

  • Alipay

    Alipay