| # Menggunakan Node.js versi 18 sebagai base image | |
| FROM node:18 | |
| # Menginstal git, ffmpeg, imagemagick, dan webp | |
| RUN apt-get update && \ | |
| apt-get install -y \ | |
| git \ | |
| ffmpeg \ | |
| imagemagick \ | |
| webp && \ | |
| apt-get clean && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # Menetapkan direktori kerja | |
| WORKDIR /app | |
| # Membuat direktori sessions | |
| RUN mkdir -p /app/sessions | |
| # Menyalin file package.json dan package-lock.json | |
| COPY package.json ./ | |
| # Menginstal dependensi Node.js | |
| RUN npm install | |
| # Menyalin semua file aplikasi ke dalam container | |
| COPY . . | |
| # Mengubah kepemilikan direktori /app | |
| RUN chown -R node:node /app | |
| # Beralih ke pengguna non-root | |
| USER node | |
| # Mengekspos port 7860 | |
| EXPOSE 7860 | |
| # Menjalankan aplikasi | |
| CMD ["npm", "start"] |