跳到主要内容

Docker Compose 部署

ollmo 提供完整的 docker-compose 编排,一条命令启动全栈。

一键启动

cp .env.example .env
# 编辑 .env,至少修改 JWT_SECRET
make up-full

up-full 会构建并启动:基础设施(MySQL / Redis / MinIO / Milvus)+ API server + Asynq worker + Web。

环境变量

.env 关键配置:

SERVER_PORT=8080
CORS_ORIGINS=http://localhost:3001,http://localhost:3000

MYSQL_HOST=mysql
MYSQL_PORT=3306
MYSQL_USER=ollmo
MYSQL_PASSWORD=ollmo_dev_pwd
MYSQL_DATABASE=ollmo

REDIS_HOST=redis
REDIS_PORT=6379

MINIO_ENDPOINT=minio:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_BUCKET=ollmo

MILVUS_HOST=milvus
MILVUS_PORT=19530

# 生产环境务必修改
JWT_SECRET=change_me_to_a_long_random_string_in_production
JWT_EXPIRE_HOURS=168

:::caution 生产环境

  • JWT_SECRET 必须替换为长随机字符串
  • 修改 MySQL / MinIO 默认密码
  • CORS_ORIGINS 改为实际域名 :::

配置优先级

来源用途
server/config.yaml后端默认配置(DB、Redis、MinIO、Milvus、MinerU、JWT)
.envDocker 部署的环境变量覆盖
Web UI → 设置租户级 LLM / Embedding / Rerank 供应商
Web UI → 知识库设置知识库级 Rerank 覆盖
Web UI → Agent 画布知识库级 Agent 配置

模型选择优先级:知识库级配置 → 租户默认 → config.yaml 兜底

健康检查

# 存活探针:进程存活即返回
curl http://localhost:8080/health

# 就绪探针:逐项检查 MySQL / Redis / MinIO / Milvus 连通性,任一不可用返回 503
curl http://localhost:8080/ready

Docker / K8s 就绪检查建议使用 /ready,确保流量只在依赖就绪后进入。