前言

好久没维护博客了,最近收到小伙伴评论,点进去看,我靠,这评论区怎么加载这么慢?感觉Waline + LeanCLoud有点儿卡了,在网上搜寻了一番,看到了Artalk这个宝藏,纯自托管,访问速度自己控制,还支持评论迁移,非常符合我的需求。

再见了,我的小Waline,开干!

开始

导出Waline评论

参考数据迁移 | Artalk,到LeanCloud导出评论数据。(PS:下午4点后不允许导出……)

image-20250626161806130

到LeanCloud发送的邮件下载评论数据压缩包。

部署Artalk

参考程序部署 | Artalkdocker-compose.yaml如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: '3.8'
services:
artalk:
container_name: artalk
image: artalk/artalk-go
restart: unless-stopped
ports:
- 8080:23366
volumes:
- ./data:/data
environment:
- TZ=Asia/Shanghai
- ATK_LOCALE=zh-CN
- ATK_SITE_DEFAULT=Artalk 的博客
- ATK_SITE_URL=https://your_domain

输入以下命令后根据指引创建Artalk管理员账号:

1
docker exec -it artalk artalk admin

访问你的管理端网站http://<你的IP>:<你的端口>,输入刚刚配置的管理员邮箱与密码,即可登录。

导入评论

将从LeanCloud邮件下载的压缩包解压,得到Comment.0.jsonl文件。

这个文件不能直接使用,使用文本工具打开,会看到第一行有个注释,删除该注释,如:

1
#filetype:JSON-streaming {"type":"Class","class":"Comment"}

删除并保存后,到Artransfer转换为Artrans数据,选择格式Valine

image-20250627094005776

点击下载 Artrans得到Artrans格式的数据文件,这时候就可以到刚刚部署的Artalk服务端导入评论了。

(PS:如果不想使用自带的SQLite,需要使用MySQL的话,在设置->数据库,更改就行了,参考配置文件 | Artalk

image-20250627094608051

部署到Hexo

由于部署使用的是hexo-theme-butterfly主题,参考主题文档配置就行了。

到主题配置文件_config.butterfly.yml,修改以下内容:

1
2
3
4
5
6
artalk:
server: "https://example.com" # 你的Artalk服务端
site: "InsectMk的个人空间" # 你的网站名称
# Use Artalk visitor count as the page view count
visitor: false
option:

其他

邮件提醒

参考邮件通知 | Artalk配置即可。

SMTP的密码获取可以参考这篇文章如何开启QQ邮箱的SMTP服务和设置授权码

image-20250627131952732

如果文章被评论需要提醒到管理员,就要设置多元推送,参考多元推送 | Artalk

image-20250627132443038

本地访问

如果是在本地调试访问的话,会提示跨域错误,这个时候就需要设置可信域名,参考配置文件-可信域名 | Artalk

将你的本地url添加进去就行了,如图:

image-20250627132304797

参考文档

程序部署 | Artalk

数据迁移 | Artalk

Waline私有化部署(Docker+VPS)