FROM node:22-alpine WORKDIR /app # Expose build-time NEXT_PUBLIC_* vars to `npm run build` so Next.js # inlines them into the client bundle. Coolify supplies these as # --build-arg from app env vars (is_buildtime=true). ARG NEXT_PUBLIC_SUPABASE_URL ARG NEXT_PUBLIC_SUPABASE_ANON_KEY ARG NEXT_PUBLIC_SITE_URL ARG NEXT_PUBLIC_GA_MEASUREMENT_ID ENV NEXT_PUBLIC_SUPABASE_URL=$NEXT_PUBLIC_SUPABASE_URL ENV NEXT_PUBLIC_SUPABASE_ANON_KEY=$NEXT_PUBLIC_SUPABASE_ANON_KEY ENV NEXT_PUBLIC_SITE_URL=$NEXT_PUBLIC_SITE_URL ENV NEXT_PUBLIC_GA_MEASUREMENT_ID=$NEXT_PUBLIC_GA_MEASUREMENT_ID COPY package*.json ./ RUN npm install COPY . . RUN npm run build ENV NODE_ENV=production ENV PORT=4028 EXPOSE 4028 CMD ["npx", "next", "start", "-p", "4028"]