
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://github.com/chrislongros/anki-sync-server-enhanced/actions/workflows/build.yml/badge.svg](https://github.com/chrislongros/anki-sync-server-enhanced/actions)
生产级Docker镜像,用于自托管Anki同步服务器,具备备份、监控、仪表盘和安全功能。
!仪表盘
官方Anki项目提供同步服务器源代码,但未提供预构建Docker镜像。本项目提供:
| 特性 | 本镜像 |
|---|---|
| 预构建Docker镜像 | ✅ |
| 自动更新(每日构建) | ✅ |
| 多架构支持(amd64、arm64、arm/v7) | ✅ |
| 带保留策略的自动备份 | ✅ |
| S3/MinIO备份上传 | ✅ |
| Prometheus指标 | ✅ |
| Web仪表盘 | ✅ |
| //Slack/邮件告警 | ✅ |
| Docker Secrets支持 | ✅ |
| 密码哈希存储 | ✅ |
| Fail2ban集成 | ✅ |
| 速率限制 | ✅ |
| 内置TLS(Let's Encrypt/自签名) | ✅ |
| 用户管理CLI | ✅ |
| PUID/PGID支持 | ✅ |
bashdocker run -d \ --name anki-sync \ -p 8080:8080 \ -e SYNC_USER1=user:password \ -v anki_data:/data \ chrislongros/anki-sync-server-enhanced:25.09.2-1
然后将Anki客户端配置为同步到 http://你的服务器:8080/
yamlservices: anki-sync-server: image: chrislongros/anki-sync-server-enhanced:25.09.2-1 container_name: anki-sync ports: - "8080:8080" # 同步服务器(HTTP) - "8443:8443" # 同步服务器(HTTPS,若启用TLS) - "8081:8081" # 仪表盘(可选) - "9090:9090" # 指标(可选) environment: - SYNC_USER1=alice:password1 - SYNC_USER2=bob:password2 - TZ=Europe/Berlin - BACKUP_ENABLED=true - METRICS_ENABLED=true - DASHBOARD_ENABLED=true volumes: - anki_data:/data - anki_backups:/backups restart: unless-stopped volumes: anki_data: anki_backups:
通过设置 DASHBOARD_ENABLED=true 启用,访问地址 http://服务器:8081/
特性:
使用 DASHBOARD_AUTH=admin:password 设置基本认证保护
| 变量 | 描述 | 默认值 |
|---|---|---|
SYNC_USER1-SYNC_USER99 | 用户凭据(用户:密码) | 必需 |
SYNC_HOST | 监听地址 | 0.0.0.0 |
SYNC_PORT | 监听端口 | 8080 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
TZ | 时区 | UTC |
PUID / PGID | 文件权限 | 1000 |
PASSWORDS_HASHED | 使用哈希密码 | 0 |
| 变量 | 描述 | 默认值 |
|---|---|---|
BACKUP_ENABLED | 启用备份 | false |
BACKUP_SCHEDULE | Cron调度 | 0 3 * * * |
BACKUP_RETENTION_DAYS | 保留天数 | 7 |
| 变量 | 描述 | 默认值 |
|---|---|---|
S3_BACKUP_ENABLED | 上传到S3 | false |
S3_ENDPOINT | S3端点(MinIO/Garage) | - |
S3_BUCKET | 存储桶名称 | - |
S3_ACCESS_KEY | 访问密钥 | - |
S3_SECRET_KEY | 密钥 | - |
S3_REGION | 区域 | us-east-1 |
| 变量 | 描述 | 默认值 |
|---|---|---|
METRICS_ENABLED | Prometheus指标 | false |
METRICS_PORT | 指标端口 | 9090 |
DASHBOARD_ENABLED | Web仪表盘 | false |
DASHBOARD_PORT | 仪表盘端口 | 8081 |
DASHBOARD_AUTH | 认证(用户:密码) | - |
| 变量 | 描述 | 默认值 |
|---|---|---|
NOTIFY_ENABLED | 启用Webhook | false |
NOTIFY_TYPE | 通知类型(//slack/ntfy) | discord |
NOTIFY_WEBHOOK_URL | Webhook URL | - |
EMAIL_ENABLED | 启用邮件 | false |
EMAIL_HOST | SMTP主机 | - |
EMAIL_PORT | SMTP端口 | 587 |
EMAIL_USER / EMAIL_PASS | SMTP凭据 | - |
EMAIL_FROM / EMAIL_TO | 邮件地址 | - |
| 变量 | 描述 | 默认值 |
|---|---|---|
FAIL2BAN_ENABLED | 启用fail2ban | false |
FAIL2BAN_MAX_RETRIES | 最大失败次数 | 5 |
FAIL2BAN_BAN_TIME | 封禁时间(秒) | 3600 |
RATE_LIMIT_ENABLED | 启用速率限制 | false |
RATE_LIMIT_REQUESTS | 最大请求数 | 100 |
RATE_LIMIT_WINDOW | 时间窗口(秒) | 60 |
通过Caddy反向代理提供内置TLS支持。支持三种模式:
| 变量 | 描述 | 默认值 |
|---|---|---|
TLS_ENABLED | 启用TLS | false |
TLS_PORT | HTTPS端口 | 8443 |
TLS_DOMAIN | Let's Encrypt域名 | - |
TLS_EMAIL | Let's Encrypt*** | - |
TLS_CERT | 手动证书路径 | - |
TLS_KEY | 手动私钥路径 | - |
模式1:Let's Encrypt(自动)
bashdocker run -d \ -p 80:80 -p 443:443 \ -e SYNC_USER1=user:password \ -e TLS_ENABLED=true \ -e TLS_DOMAIN=anki.yourdomain.com \ -e TLS_EMAIL=you@email.com \ -v anki_data:/data \ -v anki_config:/config \ chrislongros/anki-sync-server-enhanced:25.09.2-1
模式2:手动证书
bashdocker run -d \ -p 8443:8443 \ -e SYNC_USER1=user:password \ -e TLS_ENABLED=true \ -e TLS_CERT=/config/certs/fullchain.pem \ -e TLS_KEY=/config/certs/privkey.pem \ -v ./certs:/config/certs:ro \ -v anki_data:/data \ chrislongros/anki-sync-server-enhanced:25.09.2-1
模式3:自签名(本地/测试)
bashdocker run -d \ -p 8080:8080 -p 8443:8443 \ -e SYNC_USER1=user:password \ -e TLS_ENABLED=true \ -v anki_data:/data \ chrislongros/anki-sync-server-enhanced:25.09.2-1
然后将客户端配置为使用 https://你的服务器:8443/
注意: 自签名证书会显示浏览器警告。对于本地网络,你可能更倾向于使用HTTP或有效的证书。
bash# 用户管理 docker exec anki-sync user-manager.sh list docker exec anki-sync user-manager.sh add john docker exec anki-sync user-manager.sh add john mypassword docker exec anki-sync user-manager.sh reset john newpass docker exec anki-sync user-manager.sh hash mypassword docker exec anki-sync user-manager.sh stats # 备份管理 docker exec anki-sync backup.sh docker exec anki-sync restore.sh --list docker exec anki-sync restore.sh --list-s3 docker exec anki-sync restore.sh backup_file.tar.gz docker exec anki-sync restore.sh --s3 backup_file.tar.gz
http://你的服务器:8080/http://你的服务器:8080/http://你的服务器:8080/msync/http://你的服务器:8080/提示: 启用内置TLS(
TLS_ENABLED=true)或使用反向代理(Traefik、Caddy、nginx)以实现安全远程访问。
当 METRICS_ENABLED=true 时,可在 http://服务器:9090/metrics 获取:
| 指标 | 描述 |
|---|---|
anki_sync_users_total | 已配置用户数 |
anki_sync_data_bytes | 总数据大小 |
anki_sync_backup_count | 备份数量 |
anki_sync_uptime_seconds | 服务器运行时间 |
anki_sync_operations_total | 总同步操作数 |
anki_auth_success_total | 成功登录次数 |
anki_auth_failed_total | 失败登录次数 |
用于安全凭据管理:
yamlservices: anki-sync-server: image: chrislongros/anki-sync-server-enhanced:25.09.2-1 environment: - SYNC_USER1_FILE=/run/secrets/anki_user1 secrets: - anki_user1 secrets: anki_user1: file: ./secrets/user1.txt # 包含:用户名:密码
| 仓库 | 镜像 |
|---|---|
| Docker Hub | chrislongros/anki-sync-server-enhanced:25.09.2-1 |
无法连接到服务器:
docker logs anki-sync/ 结尾(例如 http://服务器:8080/)大型集合同步失败:
client_max_body_size(nginx)或等效设置MAX_SYNC_PAYLOAD_MEGS 环境变量认证问题:
docker exec anki-sync cat /var/log/anki/auth.logdocker exec anki-sync user-manager.sh reset username newpassword仪表盘无法加载:
DASHBOARD_ENABLED=truedocker logs anki-sync | grep dashboardbash# 自动检测最新Anki版本 docker build -t anki-sync-server-enhanced . # 指定Anki版本 docker build --build-arg ANKI_VERSION=25.09.2 -t anki-sync-server-enhanced:25.09.2-1 .
基于Ankitects的官方https://github.com/ankitects/anki%E5%90%8C%E6%AD%A5%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%9E%84%E5%BB%BA%E3%80%82
AGPL-3.0 - © 2026 Christos Longros - 参见 LICENSE
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务