From 477ac67703e8de40898dbbe374975c77a14f2df3 Mon Sep 17 00:00:00 2001 From: Ahmed Darrazi Date: Fri, 5 Dec 2025 23:52:11 +0100 Subject: [PATCH] Fix: Make all env vars optional for Docker build time --- drizzle.config.ts | 2 +- lib/env.mjs | 14 +++----------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/drizzle.config.ts b/drizzle.config.ts index a1d3f79..e2e2a91 100644 --- a/drizzle.config.ts +++ b/drizzle.config.ts @@ -6,6 +6,6 @@ export default { dialect: "postgresql", out: "./lib/db/migrations", dbCredentials: { - url: env.DATABASE_URL, + url: env.DATABASE_URL ?? "", } } satisfies Config; \ No newline at end of file diff --git a/lib/env.mjs b/lib/env.mjs index 02eebbc..7e013ae 100644 --- a/lib/env.mjs +++ b/lib/env.mjs @@ -7,18 +7,10 @@ export const env = createEnv({ NODE_ENV: z .enum(["development", "test", "production"]) .default("development"), - DATABASE_URL: z.string().min(1), + DATABASE_URL: z.string().optional(), - NEXTAUTH_SECRET: process.env.NODE_ENV === "production" - ? z.string().min(1) - : z.string().optional(), - NEXTAUTH_URL: z.preprocess( - // This makes Vercel deployments not fail if you don't set NEXTAUTH_URL - // Since NextAuth.js automatically uses the VERCEL_URL if present. - (str) => process.env.VERCEL_URL ?? str, - // VERCEL_URL doesn't include `https` so it cant be validated as a URL - process.env.VERCEL_URL ? z.string().min(1) : z.string().url() - ), + NEXTAUTH_SECRET: z.string().optional(), + NEXTAUTH_URL: z.string().optional(), // Azure AD (Microsoft Entra ID) - optional in development AZURE_AD_CLIENT_ID: z.string().optional(),