| # Gunakan image Node.js versi 18 berbasis Alpine yang ringan | |
| FROM node:18-alpine | |
| # Setel direktori kerja di dalam kontainer | |
| WORKDIR /app | |
| # Install alat-alat yang diperlukan sekaligus dependencies sistem | |
| RUN apk add --no-cache \ | |
| git \ | |
| python3 \ | |
| nss \ | |
| freetype \ | |
| harfbuzz \ | |
| ca-certificates \ | |
| ttf-freefont \ | |
| ffmpeg | |
| # Salin file package.json dan package-lock.json | |
| COPY package*.json ./ | |
| # Instal dependensi dengan NPM menggunakan argumen --production untuk hanya instalasi dependensi produksi | |
| RUN npm install | |
| # Salin file dan direktori lain ke dalam kontainer | |
| COPY . . | |
| # Menyediakan port yang akan digunakan aplikasi | |
| EXPOSE 7860 | |
| # Perintah untuk menjalankan aplikasi | |
| CMD ["node", "index.js"] | |