From 3d268b60611bf88a1647c092cef2f083b481968f Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 14:09:02 +0300 Subject: [PATCH] retry initial dockerfile --- Dockerfile | 61 ++++++++++++++---------------------------------------- 1 file changed, 15 insertions(+), 46 deletions(-) diff --git a/Dockerfile b/Dockerfile index 18598be..5eb2722 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,69 +6,39 @@ WORKDIR /app RUN npm install -g pnpm@9 RUN npm install -g dotenv-cli -ARG NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY -ARG NEXT_PUBLIC_SUPABASE_URL -ARG NEXT_PUBLIC_SUPABASE_ANON_KEY -ARG NEXT_PUBLIC_SITE_URL -ARG NEXT_PUBLIC_MONTONIO_ACCESS_KEY -ARG MEDUSA_BACKEND_URL -ARG SUPABASE_SERVICE_ROLE_KEY -ARG JOBS_API_TOKEN - COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ COPY packages packages COPY tooling tooling - -ENV SKIP_SUPABASE_CLI=true - -RUN pnpm install --frozen-lockfile - COPY .env .env -#COPY .env.staging .env.staging - -RUN echo "# PRODUCTION BUILD ENVIRONMENT VARIABLES" > .env.production && \ - echo "" >> .env.production && \ - echo "# MEDUSA" >> .env.production && \ - echo "MEDUSA_BACKEND_URL=${MEDUSA_BACKEND_URL}" >> .env.production && \ - echo "NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY=${NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY}" >> .env.production && \ - echo "" >> .env.production && \ - echo "# SUPABASE" >> .env.production && \ - echo "SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY}" >> .env.production && \ - echo "NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL}" >> .env.production && \ - echo "NEXT_PUBLIC_SUPABASE_ANON_KEY=${NEXT_PUBLIC_SUPABASE_ANON_KEY}" >> .env.production && \ - echo "" >> .env.production && \ - echo "# SITE" >> .env.production && \ - echo "NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL}" >> .env.production && \ - echo "" >> .env.production && \ - echo "# MONTONIO" >> .env.production && \ - echo "NEXT_PUBLIC_MONTONIO_ACCESS_KEY=${NEXT_PUBLIC_MONTONIO_ACCESS_KEY}" >> .env.production && \ - echo "" >> .env.production && \ - echo "# JOBS" >> .env.production && \ - echo "JOBS_API_TOKEN=${JOBS_API_TOKEN}" >> .env.local +COPY .env.production .env.production +COPY .env.staging .env.staging # Load env file and echo a specific variable # RUN dotenv -e .env -- printenv | grep 'SUPABASE' || true +RUN pnpm install --frozen-lockfile COPY . . ENV NODE_ENV=production -ENV NODE_OPTIONS="--max-old-space-size=4096" -ENV ENABLE_REACT_COMPILER=false RUN set -a \ - && . .env.production \ - && set +a \ - && node check-env.js \ - && pnpm build + && . .env \ + && . .env.production \ + && . .env.staging \ + && set +a \ + && node check-env.js \ + && pnpm build + # --- Stage 2: Runtime --- FROM node:20-alpine +ARG APP_ENV=production WORKDIR /app COPY --from=builder /app ./ -COPY --from=builder /app/.env.production .env.production -COPY --from=builder /app/.env.local .env.local + +RUN cp ".env.${APP_ENV}" .env.local RUN npm install -g pnpm@9 \ && pnpm install --prod --frozen-lockfile @@ -76,9 +46,8 @@ RUN npm install -g pnpm@9 \ ENV NODE_ENV=production # 🔍 Optional: Log key envs for debug -RUN echo "📄 .env.local contents:" && cat .env.local \ - && echo "📄 .env.production contents:" && cat .env.production \ - && echo "🔧 Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV|MEDUSA|JOBS' || true +RUN echo "📄 .env contents:" && cat .env.local \ + && echo "🔧 Current ENV available to Next.js build:" && printenv | grep -E 'SUPABASE|STRIPE|NEXT|NODE_ENV' || true EXPOSE 3000