返回 AiToEarn
DOCKER_DEPLOYMENT_CN.md
根目录 / DOCKER_DEPLOYMENT_CN.md
1 # AiToEarn Docker 部署指南
2
3 本指南帮助你使用 Docker Compose 快速部署完整的 AiToEarn 应用。
4
5 ## 服务架构
6
7 ```
8 ┌──────────┐
9 │ Nginx │
10 │ :8080 │
11 └────┬─────┘
12
13 ┌───────────────┼───────────────┐
14 │ │ │
15 ┌─────┴─────┐ ┌─────┴──────┐ ┌─────┴─────┐
16 │ Web (FE) │ │ Server │ │ AI │
17 │ :3000 │ │ :3002 │ │ :3010 │
18 └────────────┘ └──────┬─────┘ └─────┬─────┘
19 │ │
20 ┌────────────┼──────────────┤
21 │ │ │
22 ┌────┴─────┐ ┌───┴────┐ ┌──────┴───┐
23 │ MongoDB │ │ Redis │ │ RustFS │
24 │ :27017 │ │ :6379 │ │ :9000/01 │
25 └──────────┘ └────────┘ └──────────┘
26 ```
27
28 | 服务 | 说明 | 端口 |
29 |------|------|------|
30 | **Nginx** | 反向代理,统一入口 | 8080 (对外) |
31 | **aitoearn-web** | Next.js 前端 | 3000 (内部) |
32 | **aitoearn-server** | NestJS 主后端 API | 3002 (内部) |
33 | **aitoearn-ai** | NestJS AI 服务 | 3010 (内部) |
34 | **MongoDB** | 数据库 | 27017 |
35 | **Redis** | 缓存/队列 | 6379 |
36 | **RustFS** | S3 兼容对象存储 | 9000 (API) / 9001 (控制台) |
37
38 ## 前置要求
39
40 - **Docker**: 20.10+
41 - **Docker Compose**: 2.0+
42 - **系统内存**: 建议 4GB+
43 - **磁盘空间**: 建议 20GB+
44
45 验证安装:
46
47 ```bash
48 docker --version
49 docker compose version
50 ```
51
52 ---
53
54 ## 🚀 3 分钟快速启动
55
56 只需 3 步,即可在本地跑起完整的 AiToEarn。
57
58 ### 第 1 步:克隆并启动
59
60 ```bash
61 git clone https://github.com/yikart/AiToEarn.git
62 cd AiToEarn
63 docker compose up -d
64 ```
65
66 首次启动会拉取镜像,可能需要几分钟。运行 `docker compose ps` 确认所有服务为 `healthy` 或 `running`。
67
68 ### 第 2 步:打开界面
69
70 启动成功后,打开浏览器访问:**[http://localhost:8080](http://localhost:8080)**
71
72 > 首次启动会自动创建管理员账号并自动登录,无需手动注册。
73
74 ### 第 3 步:配置 Relay 中继(强烈推荐)
75
76 > **为什么要配 Relay?**
77 >
78 > AiToEarn 需要登录你的社交媒体账号(抖音、小红书、TikTok 等)才能发布内容。这些平台要求 OAuth 开发者凭据才能授权登录。
79 >
80 > - **不配 Relay**:你需要自己去十几个平台逐一申请开发者账号,获取 client_id/secret,非常麻烦。
81 > - **配了 Relay**:借用官方 aitoearn.ai 的凭据完成授权,**一个 API Key 搞定所有平台**。
82
83 **配置方法**:
84
85 1. 在 [aitoearn.ai](https://aitoearn.ai)(国际)或 [aitoearn.cn](https://aitoearn.cn)(中国)注册登录,进入 **设置 → API Key**,创建一个 API Key
86 2. 在浏览器打开部署后的界面,进入 **配置管理**
87 3. 选择 **Server → Relay 中转**,配置发布平台授权使用的 Relay
88 4. 如需使用平台提供的 AI 模型,选择 **AI → Relay 中转** 并配置 AI Relay
89 5. OpenAI、Gemini、Anthropic 等模型服务商也可以在 **AI → 模型服务商** 中填写平台提供的 API Key 和 API 地址
90 6. 保存后点击 **保存并重启**,让对应服务重新加载配置
91
92 中国版 Key 搭配 `https://aitoearn.cn/api`,国际版 Key 搭配 `https://aitoearn.ai/api`;环境和 Key 不匹配会导致 401。
93
94 **到这里,你已经可以正常使用 AiToEarn 了!** 🎉
95
96 ## 运维参考
97
98 ### 自动登录
99
100 自动登录默认已启用。首次启动时,`aitoearn-init` 服务会生成管理员 token 并保存到共享卷中,`aitoearn-web` 服务自动读取该 token 完成登录。
101
102 ### 镜像拉取策略
103
104 所有应用服务镜像使用 `pull_policy: always`,确保每次 `docker compose up` 都拉取最新镜像。
105
106 ### 内部服务通信
107
108 以下配置用于服务间通信,使用 Docker 内部网络,通常无需修改:
109
110 | 配置项 | 所属服务 | 默认值 |
111 |------|----------|--------|
112 | `serverClient.baseUrl` | aitoearn-ai | `http://aitoearn-server:3002` |
113 | `aiClient.baseUrl` | aitoearn-server | `http://aitoearn-ai:3010` |
114
115 ### 配置文件
116
117 配置文件以可写卷挂载到容器中,可通过配置管理界面修改,保存后需重启对应服务:
118
119 | 文件 | 挂载到 | 说明 |
120 |------|--------|------|
121 | `project/aitoearn-backend/apps/aitoearn-ai/config/config.yaml` | aitoearn-ai:/app/config.yaml | AI 服务配置 |
122 | `project/aitoearn-backend/apps/aitoearn-server/config/config.yaml` | aitoearn-server:/app/config.yaml | 后端配置 |
123
124 ---
125
126 ## 配置速查表
127
128 `aitoearn-ai` 和 `aitoearn-server` 不再通过 `docker-compose.yml` 的 `environment` 配置运行参数,统一读取挂载的 `config.yaml`,并通过配置管理界面修改。
129
130 ### Compose 中仍保留的环境变量
131
132 | 变量 | 所属服务 | 说明 | 默认值 |
133 |------|----------|------|--------|
134 | `MONGO_INITDB_ROOT_PASSWORD` | mongodb | MongoDB root 密码 | `password` |
135 | `RUSTFS_ACCESS_KEY` / `RUSTFS_SECRET_KEY` | rustfs | RustFS 访问凭证 | `rustfsadmin` |
136 | `MONGO_URI` / `JWT_SECRET` / `DB_NAME` / `AUTO_LOGIN_TOKEN_PATH` | aitoearn-init | 首次启动初始化管理员与自动登录 token | 内置默认值 |
137 | `NODE_ENV` / `NEXT_TELEMETRY_DISABLED` | aitoearn-web | Web 运行环境与 Next.js telemetry 设置 | `production` / `1` |
138
138 lines MARKDOWN