diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..cfe3aa4 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +.git +node_modules +.next +# Lokale Env-Dateien NICHT ins Image kopieren (Secrets); Build nutzt Build-ENV/Args +.env +.env.* +!.env.example +!.env.coolify.example +*.log +Dockerfile* +docker-compose*.yml +.dockerignore diff --git a/Dockerfile b/Dockerfile index 79abf3e..50bd09f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,12 @@ FROM node:22-alpine AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . +# Platzhalter nur für die Build-Zeit: prisma.config.ts löst env("DATABASE_URL") +# beim Laden auf, und Coolify reicht die Variable nur als Build-ARG rein (nicht in +# process.env). 'prisma generate' und 'next build' (nur dynamische Routen) bauen KEINE +# echte DB-Verbindung auf. Zur Laufzeit überschreibt der echte DATABASE_URL aus der +# Coolify-Env diesen Wert (im migrate-/app-Container). +ENV DATABASE_URL="postgresql://build:build@localhost:5432/build?schema=public" RUN npx prisma generate && npm run build FROM node:22-alpine AS runner