Download Dockerfile from Pepguy/virtualVS: direct link, hf CLI and curl.
- Browser
- Download file 1.66 kB
-
https://huggingface.co/spaces/Pepguy/virtualVS/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/Pepguy/virtualVS/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/Pepguy/virtualVS/resolve/main/Dockerfile
1.66 kB
| FROM ubuntu:22.04 | |
| # Prevent interactive prompts during apt installations | |
| ENV DEBIAN_FRONTEND=noninteractive | |
| # 1. Install base utilities and sudo as root | |
| RUN apt-get update && apt-get install zstd && apt-get install -y \ | |
| curl wget git jq unzip build-essential \ | |
| python3 python3-pip sudo \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 2. Install VS Code Server (code-server) as root | |
| RUN curl -fsSL https://code-server.dev/install.sh | sh | |
| # 3. INSTALL NODE.JS (v24.x) via NodeSource | |
| RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \ | |
| && apt-get install -y nodejs \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 4. Create the user, set bash as default, add to sudo group | |
| RUN useradd -m -s /bin/bash -u 1000 -G sudo user \ | |
| && echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/user \ | |
| && chmod 0440 /etc/sudoers.d/user | |
| # 5. Set up environment variables (ADDED NPM_CONFIG_PREFIX AND UPDATED PATH) | |
| ENV HOME=/home/user | |
| ENV NPM_CONFIG_PREFIX=/home/user/.npm-global | |
| ENV PATH="/home/user/.npm-global/bin:/home/user/.local/bin:/home/user/.cargo/bin:/home/user/.bun/bin:$PATH" | |
| # 6. Transfer ownership of the home directory from root to user | |
| RUN chown -R user:user /home/user | |
| # 7. Switch to the non-root user | |
| USER user | |
| WORKDIR $HOME | |
| # 8. Set up npm global directory for the user so 'sudo' is never needed for npm | |
| RUN mkdir -p /home/user/.npm-global | |
| # 9. Install Rust | |
| RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
| # 10. Install Bun | |
| RUN curl -fsSL https://bun.sh/install | bash | |
| # Expose port | |
| EXPOSE 7860 | |
| # Start VS Code Server | |
| CMD ["code-server", "--bind-addr", "0.0.0.0:7860", "--auth", "none", "--disable-telemetry"] |