# Gunakan versi Node.js yang spesifik untuk menghindari masalah yang mungkin timbul dari perubahan versi terbaru | |
FROM node:14 | |
# Buat direktori aplikasi | |
WORKDIR /app | |
# Salin package.json dan package-lock.json terlebih dahulu untuk manfaatkan caching Docker | |
COPY package*.json ./ | |
# Install paket yang diperlukan untuk canvas dan dependencies lainnya | |
RUN apt-get update && apt-get install -y \ | |
build-essential \ | |
gcc \ | |
wget \ | |
git \ | |
libvips \ | |
libcairo2-dev \ | |
libjpeg-dev \ | |
libpango1.0-dev \ | |
libgif-dev \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Install semua dependencies proyek | |
RUN npm install | |
# Salin semua file proyek ke dalam image | |
COPY . . | |
# Bebaskan port yang digunakan oleh aplikasi | |
EXPOSE 7860 | |
# Jalankan aplikasi menggunakan pm2-runtime | |
CMD ["node", "index.js"] |