Yogurt 的 Docker 部署方案,基于 acidify-core 实现的 QQ 协议端。
- 创建项目目录:
mkdir yogurt && cd yogurt- 创建
docker-compose.yml:
services:
yogurt:
image: ghcr.io/shoucandanghehe/yogurt-docker:latest
container_name: yogurt
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./config.json:/app/data/config.json
- data:/app/data
volumes:
data:- 创建空配置文件(重要:如不先创建,Docker 会将其作为目录创建):
touch config.json- 首次运行让 Yogurt 自行生成默认配置:
docker compose up
# 看到 "Empty config.json detected, asking yogurt to generate a default configuration..." 后按 Ctrl+C 停止-
编辑
config.json,填写必要信息(QQ号、签名 API 地址等) -
重新启动服务:
docker compose up -d- 查看日志:
docker compose logs -f- 创建数据目录:
mkdir -p data- 首次运行让 Yogurt 自行生成默认配置:
docker run --rm \
-v $(pwd)/config.json:/app/data/config.json \
-v $(pwd)/data:/app/data \
ghcr.io/shoucandanghehe/yogurt-docker:latest
# 看到 "Empty config.json detected, asking yogurt to generate a default configuration..." 即可-
编辑
config.json,填写必要信息 -
启动容器:
docker run -d \
--name yogurt \
--restart unless-stopped \
-v $(pwd)/config.json:/app/data/config.json \
-v $(pwd)/data:/app/data \
-p 3000:3000 \
ghcr.io/shoucandanghehe/yogurt-docker:latest- 查看日志:
docker logs -f yogurt请参阅 Yogurt 配置文档。
config.json 通过 bind mount 挂载到 Yogurt 的工作目录 /app/data/config.json,其余运行时文件存储在 Docker Volume yogurt_data 中。
如需备份数据:
docker run --rm -v yogurt_data:/data -v $(pwd):/backup alpine tar czf /backup/yogurt-data.tar.gz -C /data .Yogurt 的工作目录位于 ./data:
session-store.json- PC 协议会话session-store-android.json- Android 协议会话scripts/- 自定义脚本目录
docker compose pull
docker compose up -ddocker pull ghcr.io/shoucandanghehe/yogurt-docker:latest
docker stop yogurt
docker rm yogurt
# 然后重新执行 docker run 命令Yogurt 实现了 Milky 协议,提供 HTTP 和 WebSocket 接口,可对接各种 QQ 机器人框架。
- 生产环境请设置
milky.http.accessToken - 妥善保管
config.json和会话文件 - 容器默认以非 root 用户运行
Yogurt 基于 GNU GPL v3 开源。