# Image Node.js versi 18 berbasis Alpine (ringan) FROM node:18-alpine # Set direktori kerja di dalam container WORKDIR /app # Salin file package.json & lock untuk install dependensi COPY package.json ./ COPY package-lock.json ./ # Install dependensi aplikasi RUN npm install # Salin semua file proyek ke dalam image COPY . . # Buka port 3000 untuk akses HTTP dari luar EXPOSE 3000 # Jalankan aplikasi Node.js saat container dijalankan CMD ["node", "app/index.js"]