# 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", "luminai"] | |