| # Menggunakan image Node.js terbaru sebagai base image | |
| FROM node:latest | |
| # Menentukan direktori kerja di dalam container | |
| WORKDIR /app | |
| # Menyalin file package.json dan package-lock.json (jika ada) ke dalam container | |
| COPY package*.json ./ | |
| # Menginstal dependensi yang diperlukan, termasuk PM2 | |
| RUN npm install && npm install pm2 -g | |
| ENV PM2_PUBLIC_KEY pheqiah2qgpu45w | |
| ENV PM2_SECRET_KEY xk8zhybf7ns8ybz | |
| # Menyalin semua file dari direktori lokal ke dalam direktori kerja di container | |
| COPY . . | |
| # Memberikan izin menulis pada direktori kerja | |
| RUN chmod -R 777 /app | |
| # Mengekspos port yang akan digunakan oleh aplikasi | |
| EXPOSE 7860 | |
| # Menjalankan aplikasi menggunakan pm2-runtime | |
| CMD ["pm2-runtime", "index.js", "--name", "Lumin AI"] | |