自建Anki同步服务器
674 字约 2 分钟
2025-07-09
前言
Anki官方支持自建自定义同步服务器,阅读官方文档 Sync Server 部分,只需要简单的几行命令就可以创建一个私人同步服务。
开始
1.下载安装包并上传
根据自己的系统去官网下载安装包,我的云服务器是Linux系统,所以选择了anki-25.02.7-linux-qt6.tar.zst。下载完安装包后上传到云服务器。
2.解压运行
文件格式tar.zst是 Facebook推出的一种无损压缩格式,全称 Zstandard (ZSTD) ,压缩率更大速度更快,但是需要安装 ZSTD才能解压。
云服务器安装ZSTD,如果提示需要更新库文件就先更新一下。
sudo apt install zstd解压安装包
tar xaf ./anki-25.02.7-linux-qt6.tar.zst进入文件夹后需要运行官网的指令启动服务器,这里建议大家在运行的命令中用SYNC_PORT修改端口号,不要直接用默认的8080端口,因为不安全。指令格式 SYNC_USER1=【你的账号】:【你的密码】 SYNC_PORT=【你设置的端口号】 anki --syncserver
示例
SYNC_USER1=test:test SYNC_PORT=8888 anki --syncserver弹出以下内容则证明服务器启动成功
INFO listening addr=0.0.0.0:8888注意:上面运行的代码中的账号名称和密码可以是任意的,不必和你在ankiweb官网的一样,不过在你的电脑端和手机端登入的也必须是你命令中对应的账号和密码。 最后,最重要的是在你的电脑和手机上进行同步时你需要先找到同步的设置,在:工具>设置>同步的“自托管服务器”这个一个框里面输入http://【你的云服务器ip地址】:【你设置的端口号】,之后就可以登录账号同步了,后续也可以使用域名作为地址进行访问。
3.使用守护进程持久运行
完成启动后关闭云服务器页面发现自建服务器也跟着关闭了,所以使用PM2进行进程守护,没有PM2和Node需要先进行安装。
当前根目录为anki,在anki/anki-25.02.7-linux-qt6文件夹内创建ecosystem.config.js,
module.exports = {
apps: [{
name: "anki-server",
script: "./anki",
args: "--syncserver",
env: {
SYNC_PORT: 8888,
SYNC_USER1: "test:test"
},
out_file: "./logs/anki-server.log",
error_file: "./logs/anki-server.err",
log_date_format: "YYYY-MM-DD HH:mm Z"
}]
}script就是anki文件夹中的anki启动项,路径要保持正确。
启动PM2
pm2 start ecosystem.config.js弹出以下内容则证明服务器启动成功
INFO listening addr=0.0.0.0:8888如果连接服务器失败,查看日志指令:
pm2 logs anki-server