Files changed (1) hide show
  1. Dockerfile +35 -0
Dockerfile ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Gunakan image Node.js versi 20
2
+ FROM node:20
3
+
4
+ # 1. Install FFmpeg (sebagai root)
5
+ USER root
6
+ RUN apt-get update && apt-get install -y \
7
+ ffmpeg \
8
+ && rm -rf /var/lib/apt/lists/*
9
+
10
+ # 2. Gunakan user 'node' bawaan image (UID 1000)
11
+ # Tidak perlu useradd lagi karena user 'node' sudah UID 1000
12
+ WORKDIR /home/node/app
13
+
14
+ # 3. Ubah kepemilikan direktori kerja ke user node
15
+ RUN chown -R node:node /home/node/app
16
+
17
+ # 4. Pindah ke user node
18
+ USER node
19
+
20
+ # 5. Install library langsung
21
+ # Ini akan otomatis membuat package.json di dalam container
22
+ RUN npm install express ws fluent-ffmpeg
23
+
24
+ # 6. Copy semua file ke container
25
+ COPY --chown=node:node . .
26
+
27
+ # 7. Pastikan folder temp tersedia untuk pemrosesan audio
28
+ RUN mkdir -p temp
29
+
30
+ # 8. Konfigurasi Port untuk Hugging Face
31
+ ENV PORT=7860
32
+ EXPOSE 7860
33
+
34
+ # 9. Jalankan aplikasi
35
+ CMD ["node", "server.js"]