Multi-Stage Build
Bangun di satu stage, jalankan di stage ringan — hasil image jauh lebih kecil.
FROM node:20-alpine AS build
WORKDIR /app
COPY . .
RUN npm ci && npm run build
FROM nginx:alpine
COPY --from=build /app/dist /usr/share/nginx/html
Image akhir tak membawa toolchain build, memperkecil ukuran dan permukaan serangan.