2025-09-22 13:48:44 +00:00
|
|
|
FROM node:23.5.0-alpine
|
|
|
|
|
|
2025-09-22 15:12:02 +00:00
|
|
|
# Tambah dependency penting untuk build
|
|
|
|
|
RUN apk add --no-cache libc6-compat
|
|
|
|
|
|
2025-09-22 14:37:23 +00:00
|
|
|
# Set port
|
2025-09-22 13:48:44 +00:00
|
|
|
ENV PORT 3000
|
|
|
|
|
|
2025-09-22 14:37:23 +00:00
|
|
|
# Set working directory
|
2025-09-22 13:48:44 +00:00
|
|
|
WORKDIR /usr/src/app
|
|
|
|
|
|
2025-09-22 15:12:02 +00:00
|
|
|
# Copy package.json dan lockfile
|
2025-09-22 14:37:23 +00:00
|
|
|
COPY package*.json ./
|
2025-09-22 13:48:44 +00:00
|
|
|
|
|
|
|
|
# Install dependencies
|
2025-09-22 15:12:02 +00:00
|
|
|
RUN npm ci
|
|
|
|
|
|
|
|
|
|
# Copy vendor ckeditor kalau perlu
|
|
|
|
|
COPY vendor/ckeditor5 ./vendor/ckeditor5
|
2025-09-22 13:48:44 +00:00
|
|
|
|
2025-09-22 14:37:23 +00:00
|
|
|
# Copy semua source code
|
2025-09-22 13:48:44 +00:00
|
|
|
COPY . .
|
|
|
|
|
|
2025-09-22 15:12:02 +00:00
|
|
|
# Build Next.js
|
2025-09-22 15:34:17 +00:00
|
|
|
RUN npm run build --debug
|
2025-09-22 13:48:44 +00:00
|
|
|
|
2025-09-22 14:37:23 +00:00
|
|
|
# Expose port
|
2025-09-22 13:48:44 +00:00
|
|
|
EXPOSE 3000
|
|
|
|
|
|
2025-09-22 15:12:02 +00:00
|
|
|
# Start app
|
2025-09-22 14:37:23 +00:00
|
|
|
CMD ["npm", "run", "start"]
|