diff --git a/Dockerfile b/Dockerfile index cac9243..7e89c65 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,18 @@ RUN npm install --no-audit --no-fund FROM node:${NODE_VERSION}-alpine AS builder WORKDIR /app ENV NEXT_TELEMETRY_DISABLED=1 +# Build-Zeit-Platzhalter: src/lib/env.ts validiert beim Import (Fail-Fast). +# `next build` evaluiert beim "Collecting page data" die Server-Routen (u. a. +# /api/auth/[...nextauth]) -> ohne gesetzte Variablen bricht der Import ab. +# Diese Werte sind NUR für den Build (erfüllen das Zod-Schema); Server-env wird +# NICHT ins Bundle inlined und die builder-Stage landet NICHT im Runtime-Image. +# Echte Werte kommen zur Laufzeit aus docker-compose. +ENV DATABASE_URL=postgresql://build:build@localhost:5432/build \ + AUTH_SECRET=build_only_placeholder_secret_min_32_chars_long \ + AUTH_URL=https://build.invalid \ + AUTHENTIK_ISSUER=https://build.invalid/application/o/floriannetz/ \ + AUTHENTIK_CLIENT_ID=build \ + AUTHENTIK_CLIENT_SECRET=build COPY --from=deps /app/node_modules ./node_modules COPY . . # next.config.ts setzt output:"standalone" -> erzeugt .next/standalone/server.js.