NAM-APJATEL/deploy/docker/Dockerfile

34 lines
597 B
Docker

# Stage 1: Build
FROM node:18-alpine AS builder
# Set working directory
WORKDIR /app
# Copy package.json dan install dependencies
COPY package.json ./
RUN npm install
# Copy seluruh project
COPY . .
# Build project
RUN npm run build
# Stage 2: Run
FROM node:18-alpine
# Set working directory
WORKDIR /app
# Copy built files dari stage builder
COPY --from=builder /app ./
# Install hanya dependencies produksi
RUN npm install --omit=dev
# Expose port sesuai dengan package.json (sesuaikan jika berbeda)
EXPOSE 8000
# Jalankan aplikasi dengan npm run preview
CMD ["npm", "run", "preview"]