File size: 942 Bytes
9b02bc1 0879cd7 76e79cc 9b02bc1 76e79cc 2028aed 81e7316 2028aed 0879cd7 9b02bc1 76e79cc 9b02bc1 76e79cc 780e721 81e7316 780e721 81e7316 9b02bc1 76e79cc 9b02bc1 76e79cc 780e721 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# Gunakan versi spesifik dari node untuk stabilitas
FROM node:18-alpine
# Direktori kerja dalam kontainer
WORKDIR /app
# Install git, ffmpeg dan dependensi lainnya untuk Puppeteer
RUN apk add --no-cache git \
chromium \
nss \
freetype \
freetype-dev \
harfbuzz \
ca-certificates \
ttf-freefont \
ffmpeg
# Salin package.json dan package-lock.json terlebih dahulu untuk manfaatkan caching Docker
COPY package*.json ./
# Install dependensi
RUN npm install --production
# Install PM2 secara global
RUN npm install pm2 -g
# Menambahkan variabel lingkungan untuk Puppeteer
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser \
PM2_PUBLIC_KEY=pheqiah2qgpu45w \
PM2_SECRET_KEY=xk8zhybf7ns8ybz
# Salin file dan direktori lainnya ke direktori kerja
COPY . .
# Buka port 7860
EXPOSE 7860
# Jalankan aplikasi menggunakan PM2
CMD ["pm2-runtime", "index.js"]
|