feat: add Dockerfile + app service for production deploy

Adds a production Docker image (node:20-alpine) and an `app` service in
docker-compose.yml so the Next.js app can run as a long-lived container
instead of just build/test in ephemeral containers. Requires `apk add
openssl` before `npm ci`, otherwise Prisma silently picks the wrong query
engine binary on Alpine and only fails at runtime. Also wires
AUTH_TRUST_HOST=true, required by Auth.js when running behind the NPM
reverse proxy.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
toanhoang
2026-08-02 08:25:25 -04:00
co-authored by Claude Sonnet 5
parent 539e511022
commit 87e2cca019
5 changed files with 47 additions and 3 deletions
+5
View File
@@ -14,3 +14,8 @@ DATABASE_URL=postgres://asset_license_mgmt:change-me-local-dev@db:5432/asset_lic
# .env/.env.local) or `openssl rand -base64 33`, then copy the value here.
# Do NOT reuse this placeholder — must be a real per-environment secret.
AUTH_SECRET=change-me-generate-a-real-secret
# Required for `next start` behind a reverse proxy (NPM) — without it,
# Auth.js rejects requests with UntrustedHost since the Host header comes
# from the proxy, not a browser connecting directly. Not needed for `next dev`.
AUTH_TRUST_HOST=true