- Dockerfile: 3-stage — Flutter web build, NestJS build, slim node runtime. Runtime copies dist + node_modules + prisma + the web bundle (WEB_CLIENT_DIR=/app/web), runs `prisma migrate deploy` then `node dist/main.js`. One container serves client + API on :3000. - docker-compose.yml: postgres:16-alpine with a healthcheck + the api service; config from backend/.env (Compose v2 strips quotes), DATABASE_URL + GOOGLE_APPLICATION_CREDENTIALS overridden for the container, serviceAccount.json bind-mounted read-only. - .dockerignore keeps node_modules/build/secrets out of the context. Not run here (no Docker on this box); the stack also runs natively against the local Postgres. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
11 lines
186 B
Plaintext
11 lines
186 B
Plaintext
**/node_modules
|
|
**/dist
|
|
**/build
|
|
**/.dart_tool
|
|
**/coverage
|
|
.git
|
|
**/*.log
|
|
# Secrets: passed at runtime via env_file / bind mount, never baked in.
|
|
backend/.env
|
|
backend/serviceAccount.json
|