Docker Compose 部署
Docker Compose 是 TradingCopilot 推荐的部署方式。默认服务图包含 PostgreSQL/TimescaleDB、Redis 和应用容器,适合个人和小团队自托管。
官方部署文件位于原始项目仓库:
- 原始项目:TradingCopilotDevs/TradingCopilot
- Docker Compose 文件:docker-compose.yml
服务组成
| 服务 | 作用 |
|---|---|
postgres | PostgreSQL/TimescaleDB,保存业务数据和行情数据 |
redis | 后台任务队列、会议分发、消息过滤队列 |
app | HTTP API、前端静态资源、worker、scheduler、listener |
app 默认执行 all 命令:先运行数据库迁移,然后启动 serve、worker、scheduler 和 message-subscription-listener。任一子进程退出时,容器会停止其余进程并退出。
启动
bash
docker compose up -d查看状态:
bash
docker compose ps查看日志:
bash
docker compose logs -f app持久化目录
| 目录 | 内容 | 备份建议 |
|---|---|---|
env/ | 运行时环境配置和密钥 | 必须备份 |
data/ | 应用本地数据 | 按需备份 |
logs/ | 应用日志 | 按审计要求保留 |
postgres-data/ | 数据库数据 | 必须备份 |
redis-data/ | Redis 数据 | 视任务恢复要求备份 |
这些目录不应提交到 Git。
常用操作
停止服务:
bash
docker compose down重启应用:
bash
docker compose restart app查看配置展开结果:
bash
docker compose config更新镜像:
bash
docker compose pull
docker compose up -d跳过迁移
一般不建议跳过迁移。确实需要时:
bash
TC_RUN_MIGRATIONS=false docker compose up -d appPowerShell:
powershell
$env:TC_RUN_MIGRATIONS="false"
docker compose up -d app启动验收
- Web 控制台可访问。
app日志没有持续重复错误。- 数据库迁移成功。
- Redis 连接成功。
- 管理员初始化或登录正常。
- 创建测试会议后 worker 能消费任务。