Spaces:
Paused
Paused
Download Dockerfile from Unmid/Open-Claude: direct link, hf CLI and curl.
- Browser
- Download file 1.04 kB
-
https://huggingface.co/spaces/Unmid/Open-Claude/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/Unmid/Open-Claude/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/Unmid/Open-Claude/resolve/main/Dockerfile
1.04 kB
| # Use Node 22 for OpenClaude compatibility | |
| FROM node:22-bookworm | |
| # 1. Install system tools (ripgrep is required by OpenClaude) | |
| RUN apt-get update && apt-get install -y \ | |
| ripgrep build-essential cmake git libjson-c-dev libwebsockets-dev \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 2. Install ttyd (Web Terminal) | |
| RUN git clone --depth=1 https://github.com/tsl0922/ttyd.git && \ | |
| cd ttyd && mkdir build && cd build && \ | |
| cmake .. && make && make install && \ | |
| cd ../.. && rm -rf ttyd | |
| # 3. Create a non-root user (Required for HF Spaces) | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH | |
| # 4. Install OpenClaude globally for the user | |
| RUN npm install -g @gitlawb/openclaude | |
| # 5. Set up the persistent directory | |
| # We assume the Bucket is mounted at /data | |
| WORKDIR /data | |
| # Expose the HF default port | |
| EXPOSE 7860 | |
| # Start ttyd. | |
| # -W allows writing (typing in the terminal) | |
| # -p 7860 is the port HF listens to | |
| # /bin/bash is the starting shell | |
| CMD ["ttyd", "-W", "-p", "7860", "/bin/bash"] |