Skip to content

shoucandanghehe/yogurt-docker

Repository files navigation

Yogurt Docker

Yogurt 的 Docker 部署方案,基于 acidify-core 实现的 QQ 协议端。

快速开始

方法一:Docker Compose(推荐)

  1. 创建项目目录:
mkdir yogurt && cd yogurt
  1. 创建 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:
  1. 创建空配置文件(重要:如不先创建,Docker 会将其作为目录创建):
touch config.json
  1. 首次运行让 Yogurt 自行生成默认配置:
docker compose up
# 看到 "Empty config.json detected, asking yogurt to generate a default configuration..." 后按 Ctrl+C 停止
  1. 编辑 config.json,填写必要信息(QQ号、签名 API 地址等)

  2. 重新启动服务:

docker compose up -d
  1. 查看日志:
docker compose logs -f

方法二:Docker Run

  1. 创建数据目录:
mkdir -p data
  1. 首次运行让 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..." 即可
  1. 编辑 config.json,填写必要信息

  2. 启动容器:

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
  1. 查看日志:
docker logs -f yogurt

配置说明

请参阅 Yogurt 配置文档

数据持久化

Docker Compose

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 .

Docker Run

Yogurt 的工作目录位于 ./data

  • session-store.json - PC 协议会话
  • session-store-android.json - Android 协议会话
  • scripts/ - 自定义脚本目录

更新镜像

Docker Compose

docker compose pull
docker compose up -d

Docker Run

docker pull ghcr.io/shoucandanghehe/yogurt-docker:latest
docker stop yogurt
docker rm yogurt
# 然后重新执行 docker run 命令

Milky 协议

Yogurt 实现了 Milky 协议,提供 HTTP 和 WebSocket 接口,可对接各种 QQ 机器人框架。

安全建议

  • 生产环境请设置 milky.http.accessToken
  • 妥善保管 config.json 和会话文件
  • 容器默认以非 root 用户运行

许可证

Yogurt 基于 GNU GPL v3 开源。

About

Yogurt 的 Docker 部署方案

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors