incognitolm commited on
Commit
5d37caa
Β·
verified Β·
1 Parent(s): 55b41ab

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +2 -25
Dockerfile CHANGED
@@ -1,39 +1,16 @@
1
  # ── Build stage ──────────────────────────────────────────────────────────────
2
- FROM node:20-slim AS base
3
 
4
  WORKDIR /app
5
 
6
- # Copy package files first for better layer caching
7
  COPY package.json ./
8
  RUN npm install --omit=dev
9
 
10
- # Copy everything else
11
  COPY . .
12
 
13
- # ── Runtime ───────────────────────────────────────────────────────────────────
14
- FROM node:20-slim
15
-
16
- # HuggingFace Spaces run as non-root user (uid 1000)
17
- RUN groupadd -g 1000 appuser && \
18
- useradd -u 1000 -g appuser -s /bin/sh -m appuser
19
-
20
- WORKDIR /app
21
-
22
- # Copy installed modules and app code
23
- COPY --from=base /app /app
24
-
25
- RUN chown -R appuser:appuser /app
26
-
27
- USER appuser
28
-
29
- # HuggingFace requires the app to listen on port 7860
30
  EXPOSE 7860
31
 
32
  ENV PORT=7860
33
  ENV NODE_ENV=production
34
 
35
- # Health check
36
- HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
37
- CMD node -e "require('http').get('http://localhost:7860/health', r => process.exit(r.statusCode===200?0:1)).on('error',()=>process.exit(1))"
38
-
39
- CMD ["node", "server/index.js"]
 
1
  # ── Build stage ──────────────────────────────────────────────────────────────
2
+ FROM node:20-slim
3
 
4
  WORKDIR /app
5
 
 
6
  COPY package.json ./
7
  RUN npm install --omit=dev
8
 
 
9
  COPY . .
10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  EXPOSE 7860
12
 
13
  ENV PORT=7860
14
  ENV NODE_ENV=production
15
 
16
+ CMD ["node", "server/index.js"]