From 4078e62606b8a38c2c340b3ee5cb7d32c1b29210 Mon Sep 17 00:00:00 2001 From: Yaugourt Date: Sun, 31 May 2026 11:30:16 -0400 Subject: [PATCH] fix(docker): restore DATABASE_URL build ARG with dummy fallback for prisma generate prisma.config.ts (Prisma 7+) resolves env(DATABASE_URL) at config load time, so even `prisma generate` fails with PrismaConfigEnvError if the variable is unset. Restore ARG DATABASE_URL but default it to a dummy localhost URL so the build succeeds without depending on Railway injecting a secret build arg. The real DATABASE_URL is still injected by Railway as a runtime env var, the runtime container reads it from process.env at startup. Co-Authored-By: Claude Opus 4.7 --- Dockerfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Dockerfile b/Dockerfile index 0379796..ff4a91e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,13 @@ COPY prisma-historical ./prisma-historical/ COPY prisma-content ./prisma-content/ COPY prisma-telegram ./prisma-telegram/ COPY prisma.config.ts ./ + +# prisma.config.ts (Prisma 7+) resolves env() at load time, so DATABASE_URL must +# be set even for `prisma generate`. A dummy value is enough at build time; the +# real one is injected by Railway as a runtime env var. +ARG DATABASE_URL=postgresql://build:build@localhost:5432/build +ENV DATABASE_URL=$DATABASE_URL + RUN npx prisma generate \ && npx prisma generate --schema ./prisma-historical/schema.prisma \ && npx prisma generate --schema ./prisma-content/schema.prisma \