部署

部署概览

如何部署 Makeugcads — 选择本地开发或生产环境

Makeugcads 是一个 pnpm monorepo,生产部署由持久运行服务、一次性部署任务和按环境选择的 PostgreSQL 组成。

服务组成

类型服务镜像 / 来源端口说明
持久服务webghcr.io/chenhaonan-eth/ugcad-web:<tag>3000→3000前端面板 + API 路由
持久服务agentsghcr.io/chenhaonan-eth/ugcad-agents:<tag>8000(内部)LangGraph API 服务
持久服务redisredis:7-alpine6379(内部)缓存与任务队列
数据库PostgreSQLDokploy Databases(生产)/ legacy-postgres profile(本地或短期回滚)5432(内部)业务库通过 DATABASE_URL,LangGraph runtime 通过 LANGGRAPH_DATABASE_URL
一次性任务migrationsghcr.io/chenhaonan-eth/ugcad-migrations:<tag>按 SQL migration chain 初始化或演进业务 schema
一次性任务rbac-initghcr.io/chenhaonan-eth/ugcad-rbac-init:<tag>在 migration 完成后初始化 RBAC 基础数据

部署方式

本地开发

使用 Docker Compose 在本地运行完整服务栈。需要内置 PostgreSQL 时显式启用 legacy-postgres profile。

Docker Compose 部署指南

生产环境

使用 Dokploy 部署到自有 VPS。Dokploy 是一个自托管的 PaaS,支持 Docker Compose 服务管理、自动 HTTPS、滚动部署和环境变量管理。生产 PostgreSQL 推荐使用 Dokploy Databases,并通过标准 PostgreSQL URL 注入到 Compose 服务。

Dokploy 部署指南

必填环境变量

生产 Dokploy 路径需要配置以下密钥和连接信息:

变量名说明生成方式
DATABASE_URL业务 PostgreSQL logical database URL从 Dokploy Databases 复制
LANGGRAPH_DATABASE_URLLangGraph runtime PostgreSQL logical database URL从 Dokploy Databases 复制
REDIS_PASSWORDRedis 密码openssl rand -hex 20
AUTH_SECRETNextAuth 签名密钥(≥32 字符)openssl rand -base64 32
AGENTS_SHARED_SECRET内部服务认证 tokenopenssl rand -hex 20
OPENAI_API_KEYLLM 服务商 API 密钥sk-...
NEXT_PUBLIC_APP_URLWeb 应用的公开 URLhttps://yourdomain.com