# Gunakan image node sebagai dasar
FROM node:14-alpine as build-stage

# Set working directory di dalam container
WORKDIR /app

# Menyalin file package.json dan package-lock.json (atau yarn.lock) ke dalam container
COPY package*.json ./

# Menginstal dependensi
RUN npm install

# Menyalin seluruh kode sumber ke dalam container
COPY . .

# Build proyek Vue dengan konfigurasi publicPath
RUN npm run build

# Tahap kedua, menggunakan image webserver yang ringan
FROM nginx:alpine

# Menyalin hasil build dari tahap pertama
COPY --from=build-stage /app/dist /usr/share/nginx/html/web_admin

# Expose port 80 ke luar
EXPOSE 80

# Perintah default yang akan dijalankan ketika container dijalankan
CMD ["nginx", "-g", "daemon off;"]
