From 71d4b9ff08666d4f1aa0e7e0a8cf8d15c81e4736 Mon Sep 17 00:00:00 2001 From: Monarch055 Date: Thu, 11 Jun 2026 11:11:26 +0700 Subject: [PATCH] change local to dev --- docker/nextjs/Dockerfile | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/docker/nextjs/Dockerfile b/docker/nextjs/Dockerfile index 14aa5bb..990d4dd 100644 --- a/docker/nextjs/Dockerfile +++ b/docker/nextjs/Dockerfile @@ -5,20 +5,34 @@ RUN apk add --no-cache libc6-compat WORKDIR /app -# Copy dependency files first +# Copy dependency files first (better layer caching - reinstall only when package.json changes) COPY sistem-km-next/package*.json ./ -# Install dependencies +# Install all dependencies RUN npm install -# Copy the rest of the application files +# Copy the rest of the application source files COPY sistem-km-next/ . +# --- Build-time environment variables --- +# Next.js bakes NEXT_PUBLIC_* variables into the client-side JavaScript bundle +# at BUILD TIME (not runtime), so they must be available here as ENV vars. +# Coolify automatically injects these as Docker build args from the environment section. +ARG NEXT_PUBLIC_SUPABASE_URL +ARG NEXT_PUBLIC_SUPABASE_ANON_KEY +ARG SUPABASE_SERVICE_ROLE_KEY +ENV NEXT_PUBLIC_SUPABASE_URL=$NEXT_PUBLIC_SUPABASE_URL +ENV NEXT_PUBLIC_SUPABASE_ANON_KEY=$NEXT_PUBLIC_SUPABASE_ANON_KEY +ENV SUPABASE_SERVICE_ROLE_KEY=$SUPABASE_SERVICE_ROLE_KEY + +# Build the production Next.js bundle +RUN npm run build + # Expose Next.js port EXPOSE 3000 -ENV PORT 3000 -ENV HOSTNAME "0.0.0.0" +ENV PORT=3000 +ENV HOSTNAME="0.0.0.0" -# Start Next.js app in development mode -CMD ["npm", "run", "dev"] +# Start in production mode (no dev tools, no HMR, much faster) +CMD ["npm", "run", "start"]