| # 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 | |
| CMD ["npm", "start"] | |