完善 Docker 部署骨架并整理开源发布资料

- 调整 Dockerfile 与入口脚本,拆分应用、MySQL、Redis 的部署职责
- 新增 docker-compose、docker ignore 与 Docker 环境变量示例
- 重写 README 并补充 Docker 部署说明与第三方资产说明
- 将后台示例账号与 webhook token 改为安全占位值,移除弱口令默认兜底
This commit is contained in:
liuwei
2026-05-06 14:44:49 +08:00
parent 53b6ddc05c
commit 9589846113
11 changed files with 508 additions and 361 deletions

108
docs/Docker部署说明.md Normal file
View File

@@ -0,0 +1,108 @@
# ABOT Docker 部署说明
本文档面向希望通过 Docker / Docker Compose 快速启动 ABOT 的维护者。
## 1. 部署架构
当前仓库提供的 Compose 方案拆分为三个服务:
- `abot`:应用主程序与管理后台
- `mariadb`MySQL 兼容数据库
- `redis`:缓存与运行时状态存储
说明:
- `wechat_ipad server` 仍建议跑在宿主机或独立机器,不直接内置到应用容器中
- `abot` 容器通过 `WECHAT_SERVER_URL` / `WECHAT_SERVER_IP` 连接该服务
## 2. 首次启动
### 2.1 准备环境变量
复制示例文件:
```bash
cp .env.docker.example .env
```
Windows PowerShell
```powershell
Copy-Item .env.docker.example .env
```
至少确认以下变量:
- `ABOT_DB_PASSWORD`
- `WECHAT_SERVER_URL`
- `WECHAT_SERVER_IP`
- `WECHAT_SERVER_PORT`
- `DASHBOARD_PORT`
## 3. 启动命令
```bash
docker compose up -d --build
```
启动后:
- Dashboard 默认访问:`http://127.0.0.1:8888`
- 日志目录映射到宿主机:`./logs`
- MariaDB / Redis 数据保存在 Docker volume 中
## 4. wechat_ipad 配置说明
Compose 已将宿主机的 [wechat_ipad/config.toml](/d:/learn/abot/wechat_ipad/config.toml:1) 映射进容器。
这样做的原因:
- 保留现有代码对 `wechat_ipad/config.toml` 的读取逻辑
- 容器重建后不丢失已有登录态
- 不强制你这次就把全部 wechat 配置迁移到 `.env`
## 5. 常用命令
查看服务状态:
```bash
docker compose ps
```
查看应用日志:
```bash
docker compose logs -f abot
```
停止服务:
```bash
docker compose down
```
停止并删除数据卷:
```bash
docker compose down -v
```
## 6. 升级建议
拉取新代码后建议执行:
```bash
docker compose down
docker compose up -d --build
```
若数据库结构发生变更,请先备份再升级。
## 7. 公开仓库注意事项
在公开仓库或分享部署示例前,请再次确认:
1. `.env` 未提交
2. `config.yaml` 未提交真实密钥
3. `wechat_ipad/config.toml` 未包含真实 `wxid``device_id`
4. Dashboard 账号密码与 webhook token 已替换为你自己的值