# Menggunakan image Node.js yang lebih stabil FROM node:16-slim FROM mcr.microsoft.com/playwright:focal # Set environment variable untuk menghindari dialog pada Playwright ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD 1 # Tentukan direktori kerja di dalam container WORKDIR /app # Tentukan environment variable untuk timezone ENV TZ=Asia/Jakarta \ DEBIAN_FRONTEND=noninteractive # Perbarui apt-get dan install dependensi yang dibutuhkan untuk Canvas RUN apt-get update && apt-get install -y \ libcairo2 \ libpango-1.0-0 \ libpangoft2-1.0-0 \ libcairo2-dev \ libjpeg-dev \ libgif-dev \ librsvg2-dev \ libpixman-1-0 \ libharfbuzz-dev \ libfribidi-dev \ fontconfig \ && apt-get clean # Salin file package.json dan package-lock.json terlebih dahulu COPY package*.json ./ # Install dependensi Node.js RUN npm install # Install Playwright dependencies dan browser binaries RUN npx playwright install --with-deps # Salin seluruh kode aplikasi ke dalam container COPY . . # Ekspose port 3000 yang akan digunakan aplikasi Express EXPOSE 3000 # Tentukan perintah untuk menjalankan aplikasi Express.js CMD ["npm", "start"]