Files
abot/docs/Docker部署说明.md
2026-05-07 10:29:03 +08:00

121 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`
- `WECHAT_SERVER_TYPE`
- `DASHBOARD_PORT`
## 3. 启动命令
```bash
docker compose up -d --build
```
启动后:
- Dashboard 默认访问:`http://127.0.0.1:8888`
- 日志目录映射到宿主机:`./logs`
- MariaDB / Redis 数据保存在 Docker volume 中
## 4. wechat_ipad 配置说明
现在 `wechat_ipad` 的静态连接参数统一走 `.env`
- `WECHAT_SERVER_URL`
- `WECHAT_SERVER_IP`
- `WECHAT_SERVER_PORT`
- `WECHAT_SERVER_TYPE`
登录后的 `wxid / device_id / device_name` 会自动写入本地状态缓存:
- 默认路径:`wechat_ipad/providers/<server_type>/runtime_state.toml`
- Compose 已将宿主机的 `./wechat_ipad/providers` 目录映射进容器
- 因此容器重建后,已有登录态仍会保留
兼容说明:
- 启动时仍会尝试兼容历史 `wechat_ipad/config.toml`
- 但新的人工维护入口已经变成 `.env`
- 后续不再建议继续手工编辑旧 TOML 文件
## 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/providers/*/runtime_state.toml` 未被误公开
4. Dashboard 账号密码与 webhook token 已替换为你自己的值