# 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"]
