This repository has been archived on 2026-08-12. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Cyrene/docs/deploy/docker-compose.md
T

2.5 KiB
Raw Blame History

Docker Compose 生产部署

快速开始

# 1. 配置环境变量
cp .docker.env.example .docker.env
# 编辑 .docker.env,填入真实的 API Key 和密码
# 有域名时设置 DOMAIN=your-domain.com

# 2. 启动所有服务
docker compose --env-file .docker.env up -d

# 3. 查看状态
docker compose ps
docker compose logs -f

服务清单

服务 端口 说明
caddy 80 / 443 反向代理,自动 HTTPS
gateway 8080 (内部) API 网关
ai-core 8081 (内部) AI 核心
memory-service 8091 (内部) 记忆检索
voice-service 8093 (内部) 语音识别
iot-debug-service 8083 (内部) IoT 调试
postgres 5432 (内部) 数据库 (pgvector/pg16)
redis 6379 (内部) 缓存
qdrant 6333 (内部) 向量数据库
minio 9000 (内部) 对象存储
searxng 8080 (内部) 搜索引擎

环境变量

所有变量在 .docker.env 中配置,完整模板见 .docker.env.example

必填(服务启动 panic 若缺失)

变量 说明
LLM_API_URL LLM API 地址
LLM_API_KEY LLM API 密钥
ADMIN_PASSWORD 管理员密码
JWT_SECRET JWT 签名密钥
INTERNAL_SERVICE_TOKEN 服务间通信认证 Token
POSTGRES_PASSWORD 数据库密码
MINIO_SECRET_KEY MinIO 密钥

推荐配置

变量 默认值 说明
LLM_MODEL gpt-4o 主模型
LLM_FALLBACK_MODEL gpt-4o-mini 回退模型
ADMIN_USERNAME admin 管理员用户名
ADMIN_NICKNAME 管理员 AI 对管理员的称呼
REGISTRATION_ENABLED false 开放注册(生产建议关闭)
ALLOWED_ORIGINS http://localhost:5173,... CORS 白名单
ENABLE_BACKGROUND_THINKING true 后台自主思考
ACME_EMAIL Let's Encrypt 证书邮箱

域名与 HTTPS

.docker.env 中设置 DOMAINACME_EMAIL

# 无域名(仅 HTTP
DOMAIN=

# 有域名(自动 HTTPS
DOMAIN=your-domain.com
ACME_EMAIL=admin@your-domain.com

Caddy 在 DOMAIN 有值时自动从 Let's Encrypt 申请 TLS 证书,无需额外配置。

常用命令

# 重新构建并启动单个服务
docker compose up -d --build gateway

# 查看特定服务日志
docker compose logs -f ai-core

# 停止所有服务
docker compose down

# 停止并删除数据卷(危险)
docker compose down -v