NAM-APJATEL/deploy/docker/Dockerfile

36 lines
647 B
Docker

# Stage 1: Build
FROM node:18-alpine AS builder
# Set working directory
WORKDIR /app
# Copy package.json and package-lock.json
COPY package.json package-lock.json ./
# Install dependencies
RUN npm install
# Copy project files
COPY . .
# Build the project
RUN npm run build
# Stage 2: Run
FROM node:18-alpine
# Set working directory
WORKDIR /app
# Copy built files from builder
COPY --from=builder /app ./
# Install only production dependencies
RUN npm ci --omit=dev
# Expose the application port (sesuaikan dengan port yang digunakan di package.json)
EXPOSE 8000
# Jalankan aplikasi dengan npm run preview
CMD ["npm", "run", "preview"]