fix: fixing dockerfile

This commit is contained in:
hanif salafi 2026-01-19 17:56:19 +07:00
parent 26b2f51787
commit e5da6f4ecc
2 changed files with 17 additions and 4 deletions

1
.gitignore vendored
View File

@ -36,3 +36,4 @@ yarn-error.log*
# typescript # typescript
*.tsbuildinfo *.tsbuildinfo
next-env.d.ts next-env.d.ts
.env.local

View File

@ -4,6 +4,16 @@ FROM node:23.5.0-alpine
# Mengatur port # Mengatur port
ENV PORT 3000 ENV PORT 3000
# Build arguments untuk environment variables (build-time)
# Bisa di-override saat docker build dengan --build-arg
ARG NEXT_PUBLIC_API_URL
ARG NEXT_PUBLIC_SITE_URL
# Set sebagai environment variables untuk build
# Next.js membaca NEXT_PUBLIC_* variables saat BUILD TIME
ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}
ENV NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL}
# Install pnpm secara global # Install pnpm secara global
RUN npm install -g pnpm RUN npm install -g pnpm
@ -16,17 +26,19 @@ COPY package.json ./
# Menyalin direktori ckeditor5 jika diperlukan # Menyalin direktori ckeditor5 jika diperlukan
COPY vendor/ckeditor5 ./vendor/ckeditor5 COPY vendor/ckeditor5 ./vendor/ckeditor5
# Menyalin env
COPY .env .env
# Install dependencies # Install dependencies
RUN pnpm install RUN pnpm install
# RUN pnpm install --frozen-lockfile # RUN pnpm install --frozen-lockfile
# Menyalin source code aplikasi # Menyalin source code aplikasi (termasuk .env jika ada)
# PENTING: Next.js akan membaca file .env otomatis jika ada
# Tapi jika ARG di-set, ARG akan override nilai dari .env
COPY . . COPY . .
# Build aplikasi # Build aplikasi
# Next.js membaca NEXT_PUBLIC_* dari:
# 1. Environment variables (ENV) - prioritas tertinggi
# 2. File .env - jika ENV tidak di-set
RUN NODE_OPTIONS="--max-old-space-size=4096" pnpm next build RUN NODE_OPTIONS="--max-old-space-size=4096" pnpm next build
# Expose port untuk server # Expose port untuk server