latterworks commited on
Commit
e78a9e2
·
verified ·
1 Parent(s): f33000e

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -12
Dockerfile CHANGED
@@ -1,29 +1,29 @@
1
  # Use Node.js 18 slim image
2
  FROM node:18-slim
3
 
4
- # Create user with ID 1000 (required for HF Spaces)
5
- RUN useradd -m -u 1000 user
6
-
7
  # Set working directory
8
  WORKDIR /app
9
 
10
- # Copy package files
11
- COPY --chown=user package*.json ./
12
 
13
  # Install dependencies
14
  RUN npm install
15
 
16
- # Copy source code
17
- COPY --chown=user . .
18
 
19
- # Build TypeScript
20
  RUN npm run build
21
 
22
- # Switch to user
23
- USER user
 
 
 
24
 
25
- # Expose port 7860 (HF Spaces default)
26
  EXPOSE 7860
27
 
28
- # Start the server
29
  CMD ["npm", "start"]
 
1
  # Use Node.js 18 slim image
2
  FROM node:18-slim
3
 
 
 
 
4
  # Set working directory
5
  WORKDIR /app
6
 
7
+ # Copy package files first (for better Docker caching)
8
+ COPY package*.json ./
9
 
10
  # Install dependencies
11
  RUN npm install
12
 
13
+ # Copy all source code
14
+ COPY . .
15
 
16
+ # Build TypeScript to JavaScript
17
  RUN npm run build
18
 
19
+ # Change ownership to the existing node user (avoids UID conflicts)
20
+ RUN chown -R node:node /app
21
+
22
+ # Switch to non-root user for security
23
+ USER node
24
 
25
+ # Expose port 7860 (Hugging Face Spaces default)
26
  EXPOSE 7860
27
 
28
+ # Start the game server
29
  CMD ["npm", "start"]