| FROM node:alpine | |
| # Setel direktori kerja di dalam kontainer | |
| WORKDIR /app | |
| # Instal git, Python 3, Chromium, FFmpeg, dan dependensi lainnya | |
| RUN apk add --no-cache \ | |
| git \ | |
| python3 \ | |
| nss \ | |
| freetype \ | |
| freetype-dev \ | |
| harfbuzz \ | |
| ca-certificates \ | |
| ttf-freefont \ | |
| ffmpeg | |
| # Salin package.json dan package-lock.json terlebih dahulu untuk memanfaatkan caching Docker | |
| COPY package*.json ./ | |
| # Instal dependensi produksi | |
| RUN npm install | |
| # Salin file dan direktori lain ke direktori kerja | |
| COPY . . | |
| # Buka port 7860 | |
| EXPOSE 7860 | |
| # Jalankan aplikasi menggunakan PM2 | |
| CMD ["node", "index.js"] | |