跳转到内容

部署前须知

装之前先花三分钟看完这页,能省掉后面大半的返工。

Node ≥ 22pnpm 10Docker(跑 Postgres)。

只想看看产品长什么样、不打算装:直接开 5 分钟先试一下

端口段 4800-4809

章节:端口段 4800-4809

宿主机端口全部锁定在 OpSkool 专属的 4800-4809 段,不用各中间件的默认端口(3000 / 5432 / 9000…),避免与同机的其他项目撞车。

端口服务场景
4800webpnpm dev / pnpm demo
4802Postgresdocker-compose.dev.yml

要换 web 端口,把 PORT export 到 shell 里export PORT=4807),写进 .env 不生效——那份文件是应用启动之后才加载的,来不及影响 CLI 选端口。

几份 compose,各司其职

章节:几份 compose,各司其职

前四份可以单独用,后两份是 override,要叠在 deploy/compose.yml 上:

文件用途服务
docker-compose.dev.yml本地开发的中间件Postgres(:4802)
deploy/compose.demo.yml一键演示(自带迁移 + 种子)postgres、migrate、web(:4800)、jobs
deploy/compose.yml生产(本机从源码构建)caddy、web、jobs、postgres、wal-g
deploy/compose.public-demo.yml公开演示站,一份自包含文件跑完(用现成镜像 + 每天还原数据库)postgres、migrate、web、jobs、demo-reset
deploy/compose.image.ymloverride:改用已构建好的镜像,补一个一次性 migrateweb/jobs 换镜像来源 + migrate
deploy/compose.demo-site.ymloverride:公开演示站,每天把数据库还原成种子状态demo-reset

数据库要三个角色,不是一个

章节:数据库要三个角色,不是一个

.env 里有三条连接串(DATABASE_URL / DATABASE_URL_MIGRATE / DATABASE_URL_AUTH),分别是应用、迁移 owner、身份模块专用。不要图省事全填同一个——合并任意两条都会让租户隔离静默失效,原因见多租户与行级安全

装之前务必先读 首次初始化必读——那一步跳过会让你看到一个空产品。


本页是 CE README「快速开始」与「Docker 部署」两节的展开;两处不一致时,以 README 为准。