# Gunakan versi spesifik dari node untuk stabilitas FROM node:18-alpine # Direktori kerja dalam kontainer WORKDIR /app # Install git dan dependensi lainnya untuk Puppeteer RUN apk add --no-cache git \ chromium \ nss \ freetype \ freetype-dev \ harfbuzz \ ca-certificates \ ttf-freefont # Salin package.json dan package-lock.json terlebih dahulu untuk manfaatkan caching Docker COPY package*.json ./ # Install dependensi RUN npm install --production # Menambahkan variabel lingkungan untuk Puppeteer ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser # Salin file dan direktori lainnya ke direktori kerja COPY . . # Buka port 7860 EXPOSE 7860 # Jalankan aplikasi CMD ["node", "index.js"]