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"]