Aqso commited on
Commit
79d9cf8
·
verified ·
1 Parent(s): fb7adb0

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +30 -0
Dockerfile ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ── Dockerfile untuk Hugging Face Spaces ──
2
+ # HF Spaces wajib expose port 7860
3
+
4
+ FROM node:20-slim
5
+
6
+ # Set working directory
7
+ WORKDIR /app
8
+
9
+ # Install dependencies dulu (layer caching)
10
+ COPY package.json ./
11
+ RUN npm install --production
12
+
13
+ # Copy semua source
14
+ COPY . .
15
+
16
+ # HF Spaces jalankan sebagai non-root user
17
+ RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app
18
+ USER appuser
19
+
20
+ # HF Spaces WAJIB pakai port 7860
21
+ ENV PORT=7860
22
+ ENV NODE_ENV=production
23
+
24
+ EXPOSE 7860
25
+
26
+ # Health check
27
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=10s \
28
+ CMD node -e "require('http').get('http://localhost:7860/api/status', r => r.statusCode === 200 ? process.exit(0) : process.exit(1)).on('error', () => process.exit(1))"
29
+
30
+ CMD ["node", "server.js"]