Mahesh61 commited on
Commit
8a94a01
·
verified ·
1 Parent(s): 5fa6f64

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +16 -11
Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- # Dockerfile - OpenClaw for Hugging Face Spaces (LongCat Edition)
2
  FROM node:22-bookworm-slim
3
 
4
  # Install system dependencies
@@ -7,33 +7,38 @@ RUN apt-get update && apt-get install -y \
7
  --no-install-recommends && \
8
  rm -rf /var/lib/apt/lists/*
9
 
10
- # Setup User 1000 (Required for HF Spaces)
11
- RUN if ! id -u 1000 >/dev/null 2>&1; then \
12
- useradd -m -u 1000 user; \
13
- else \
14
  existing_user="$(getent passwd 1000 | cut -d: -f1)"; \
15
- usermod -l user "$existing_user" && usermod -d /home/user -m user || true; \
 
 
 
 
 
16
  fi
17
 
18
- # Environment Variables
19
  ENV HOME=/home/user \
20
  PATH=/home/user/.local/bin:$PATH \
21
  NODE_ENV=production \
22
  PORT=7860
23
 
24
- # Install OpenClaw
25
  RUN npm install -g openclaw@latest
26
 
27
- # Create critical directories with correct permissions
 
28
  RUN mkdir -p /home/user/.openclaw/workspace /home/user/.openclaw/credentials && \
29
- chown -R user:user /home/user
30
 
31
  # Switch to non-root user
32
  USER user
33
  WORKDIR /home/user
34
 
35
  # Copy startup script
36
- COPY --chown=user:user start.sh /home/user/start.sh
37
  RUN chmod +x /home/user/start.sh
38
 
39
  # Expose HF Port
 
1
+ # Dockerfile - OpenClaw for Hugging Face Spaces (Fixed)
2
  FROM node:22-bookworm-slim
3
 
4
  # Install system dependencies
 
7
  --no-install-recommends && \
8
  rm -rf /var/lib/apt/lists/*
9
 
10
+ # 1. Setup User 1000 (Required for HF Spaces)
11
+ # If user 1000 exists (usually 'node'), we rename it to 'user' and move home to /home/user
12
+ RUN if id -u 1000 >/dev/null 2>&1; then \
 
13
  existing_user="$(getent passwd 1000 | cut -d: -f1)"; \
14
+ if [ "$existing_user" != "user" ]; then \
15
+ usermod -l user "$existing_user"; \
16
+ usermod -d /home/user -m user; \
17
+ fi; \
18
+ else \
19
+ useradd -m -u 1000 user; \
20
  fi
21
 
22
+ # 2. Environment Variables
23
  ENV HOME=/home/user \
24
  PATH=/home/user/.local/bin:$PATH \
25
  NODE_ENV=production \
26
  PORT=7860
27
 
28
+ # 3. Install OpenClaw
29
  RUN npm install -g openclaw@latest
30
 
31
+ # 4. Create critical directories & Fix Permissions
32
+ # We use '1000:1000' to avoid errors if the group name doesn't match the user name
33
  RUN mkdir -p /home/user/.openclaw/workspace /home/user/.openclaw/credentials && \
34
+ chown -R 1000:1000 /home/user
35
 
36
  # Switch to non-root user
37
  USER user
38
  WORKDIR /home/user
39
 
40
  # Copy startup script
41
+ COPY --chown=1000:1000 start.sh /home/user/start.sh
42
  RUN chmod +x /home/user/start.sh
43
 
44
  # Expose HF Port