3.6 KiB
3.6 KiB
Codex Pool Docker 部署指南
架构
前后端一体化部署,Go 后端嵌入前端静态文件,单一容器运行。
┌─────────────────────────────────────────┐
│ Codex Pool │
│ ┌─────────────────────────────────┐ │
│ │ Frontend (嵌入) │ │
│ │ - React SPA │ │
│ └─────────────────────────────────┘ │
│ ┌─────────────────────────────────┐ │
│ │ Backend (Go) │ │
│ │ - API 服务 │ │
│ │ - Chromium 浏览器自动化 │ │
│ │ - SQLite 数据库 │ │
│ └─────────────────────────────────┘ │
│ :8848 │
└─────────────────────────────────────────┘
快速开始
1. 创建数据目录
mkdir -p data
2. 构建并启动
# 构建镜像并启动
docker-compose up -d --build
# 查看日志
docker-compose logs -f
3. 配置 (通过 Web 界面)
首次启动后,访问 Web 界面进行配置:
- 打开 http://localhost:8848
- 进入 系统配置
- 配置 S2A API 地址和 Admin Key
- 配置邮箱服务
- 根据需要启用代理
配置自动保存到数据库,无需重启服务。
常用命令
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 查看状态
docker-compose ps
# 重新构建并启动
docker-compose up -d --build
# 进入容器
docker-compose exec codex-pool sh
配置说明
环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
PORT |
8848 | 服务端口 |
BIND_HOST |
0.0.0.0 | 绑定地址 |
TZ |
Asia/Shanghai | 时区 |
数据持久化
| 路径 | 说明 |
|---|---|
./data/codex-pool.db |
SQLite 数据库 (包含配置) |
代理配置
在 Web 界面中配置代理:
- 进入 系统配置 → 核心配置
- 开启 代理设置 开关
- 填入代理地址,如
http://host.docker.internal:7890
生产环境建议
1. 使用反向代理
使用 Nginx/Caddy/Traefik 提供 HTTPS:
server {
listen 443 ssl;
server_name codex-pool.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:8848;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
2. 资源限制
services:
codex-pool:
deploy:
resources:
limits:
cpus: '2'
memory: 2G
3. 日志管理
services:
codex-pool:
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
故障排查
浏览器自动化失败
检查 Chromium 是否正常:
docker-compose exec codex-pool chromium-browser --version
无法连接代理
确保代理配置正确并已启用:
docker-compose exec codex-pool curl -v --proxy http://host.docker.internal:7890 https://www.google.com
数据库检查
docker-compose exec codex-pool ls -la /app/data/