Replace full docker compose rebuild during development with: - pnpm dev / dev:backend (air hot-reload control-plane) / dev:frontend (vite HMR) / dev:deps - compose.dev.yaml: postgres+docker-gateway only, host port mapping (5432/8081), container control-plane disabled via profile - scripts/dev-backend.mjs: read .env, fill dev defaults (login admin/admin123, listen :8082, 32-byte dev master key with explicit warning on invalid .env value), ensure dep containers, run air - vite: fixed port 5173, /api proxy to local control-plane (8082) - README: document hot-reload dev workflow Verified: pnpm dev end-to-end (login/API/frontend/proxy 200), Go+JSX edit hot-reload, compose config --quiet, go build ./..., web tests 65 passed, npm --prefix web run build.
2.9 KiB
CreatorHub
面向团队的新媒体多账号运营管理平台,统一管理浏览器环境、代理资源、账号池、负责人和自动化运营任务。
当前阶段
项目处于阶段 A 技术验证。当前可运行切片提供浏览器容器控制,以及单用户、Mock 连接器的离线业务闭环,功能参考公开上游项目独立实现,不直接复制其代码。
详细的五领域优先级、系统边界、合规知识库与分阶段验证方案见 《合规产品规划与上游调研》。
本地运行
需要 Docker Compose:
export CONTROL_PLANE_USERNAME=creatorhub
export CONTROL_PLANE_PASSWORD="$(openssl rand -hex 24)"
export CREATORHUB_CREDENTIAL_MASTER_KEY="$(openssl rand -base64 32)"
DOCKER_GID=$(stat -c %g /var/run/docker.sock) docker compose up --build
三个控制面凭据变量均为必填;Compose 不提供默认凭据。CREATORHUB_CREDENTIAL_MASTER_KEY 必须在重启后保持不变。开发环境可复制 .env.example 后显式填写本地值。
打开 http://127.0.0.1:8080,使用 CONTROL_PLANE_USERNAME / CONTROL_PLANE_PASSWORD 登录;局域网内用宿主机 IP 访问同一端口。首次使用:在「网关管理」用 Compose 里的 GATEWAY_TOKEN 注册 http://docker-gateway:8081,在「镜像版本」添加可用的指纹浏览器镜像引用,即可创建环境;网关会在镜像缺失时自动拉取。架构、API 契约、失败语义和 docker.sock 风险边界见
《浏览器容器控制面》。
本地开发(热加载)
日常开发不再整仓重建镜像,改用源码热加载:
npm --prefix web ci
pnpm dev
pnpm dev:同时起后端(air 热重载)与前端(vite HMR);pnpm dev:backend/pnpm dev:frontend:单独启动其中一端;pnpm dev:deps:仅启动 postgres 与 docker-gateway 两个容器(compose.dev.yaml会把 5432/8081 映射到宿主机)。
服务地址:
| 端 | 地址 | 说明 |
| --- | --- |
| 前端 | http://127.0.0.1:5173 | /api 由 vite 代理到本地 control-plane |
| 后端 control-plane | http://127.0.0.1:8082 | Go 源码改动即自动重启 |
| docker-gateway | http://127.0.0.1:8081 | 容器内常驻,重启不频繁 |
| postgres | 127.0.0.1:5432 | 容器内常驻,数据库重建直接销毁 volume |
开发默认值(.env 缺失或留空时):登录 admin / admin123;控制面监听 :8082;凭据主密钥使用本地开发专用密钥;本地网关注册地址用 http://127.0.0.1:8081(容器名 docker-gateway 仅存在于 Compose 网络内)。
注意:本地开发后端占用 :8082,与整仓 docker compose up 的容器端口互斥,两者二选一运行。
最小验证:
go test ./...
npm --prefix web ci
npm --prefix web run build
docker compose config --quiet