forked from imbytecat/fullstack-starter
19e60d358f
- 顶层新增 bin.ts 作为编译入口,citty 懒加载 src/cli/ 下子命令 - src/cli/serve.ts 通过 _serve-nitro.mjs 桥接启动 Nitro(规避 .output/server/index.mjs 顶层 serve(...) 的副作用导入) - src/cli/migrate.ts 显式跑 drizzle migrate;env / drizzle 都在 run() 里 await import,避免 citty --help 遍历 subCommands 时触发 env 校验 - compile.ts 入口切到 bin.ts;移除 src/server/plugins/migrate.ts 与 vite.config.ts 中的启动时自动迁移 - compose.yaml 新增一次性 migrate 服务,app depends_on service_completed_successfully,保证迁移先行再起服 - tsconfig 排除 .output / out;AGENTS.md 补充 CLI 与部署规约
42 lines
885 B
YAML
42 lines
885 B
YAML
services:
|
|
migrate:
|
|
build: .
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
environment:
|
|
- DATABASE_URL=postgres://postgres:postgres@db:5432/postgres
|
|
command: ["./server", "migrate"]
|
|
restart: "no"
|
|
|
|
app:
|
|
build: .
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
migrate:
|
|
condition: service_completed_successfully
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- DATABASE_URL=postgres://postgres:postgres@db:5432/postgres
|
|
|
|
db:
|
|
image: postgres:18-alpine
|
|
# ports:
|
|
# - "5432:5432"
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql
|
|
environment:
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|
|
POSTGRES_DB: postgres
|
|
healthcheck:
|
|
test: [ "CMD", "pg_isready", "-U", "postgres" ]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
volumes:
|
|
postgres_data:
|