Spaces:
Sleeping
Sleeping
Download Dockerfile from cpuai/ahp-development-workstation: direct link, hf CLI and curl.
- Browser
- Download file 3.49 kB
-
https://huggingface.co/spaces/cpuai/ahp-development-workstation/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/cpuai/ahp-development-workstation/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/cpuai/ahp-development-workstation/resolve/main/Dockerfile
3.49 kB
| FROM mcr.microsoft.com/dotnet/sdk:10.0-noble | |
| ARG DEBIAN_FRONTEND=noninteractive | |
| ENV TZ=Etc/UTC \ | |
| DOTNET_CLI_TELEMETRY_OPTOUT=1 \ | |
| DOTNET_NOLOGO=1 \ | |
| PIP_BREAK_SYSTEM_PACKAGES=1 \ | |
| PATH=/home/coder/.local/bin:/usr/local/bin:/usr/share/dotnet:$PATH \ | |
| PYTHONUNBUFFERED=1 \ | |
| PLAYWRIGHT_BROWSERS_PATH=/opt/ms-playwright \ | |
| HOME=/home/coder | |
| # A real Linux development environment, with common compilers and media tools. | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| ca-certificates curl wget git git-lfs jq unzip zip xz-utils \ | |
| bash sudo supervisor nginx openssh-client \ | |
| build-essential gcc g++ make cmake ninja-build pkg-config gdb clang \ | |
| python3 python3-pip python3-dev python3-venv python-is-python3 \ | |
| ffmpeg imagemagick sox libsox-fmt-all \ | |
| fonts-noto-cjk fonts-noto-color-emoji fonts-dejavu-core fontconfig \ | |
| libnss3 libatk-bridge2.0-0 libgtk-3-0 libasound2t64 \ | |
| libx11-xcb1 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libxshmfence1 \ | |
| bubblewrap socat ripgrep sqlite3 file procps tini \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Node.js 22 LTS for Hyperframes and modern frontend work. | |
| RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ | |
| && apt-get install -y nodejs \ | |
| && node --version && npm --version \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # The bridge targets .NET 8; SDK 10 is for creating new .NET projects. | |
| RUN curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh \ | |
| && bash /tmp/dotnet-install.sh --channel 8.0 --runtime aspnetcore --install-dir /usr/share/dotnet --no-path \ | |
| && rm /tmp/dotnet-install.sh \ | |
| && dotnet --list-runtimes | |
| # Browser-accessible VS Code-compatible IDE. | |
| RUN curl -fsSL https://code-server.dev/install.sh | sh \ | |
| && code-server --version | |
| # Microsoft's official VS Code CLI is required for a real 'code agent host'. | |
| RUN curl -fL --retry 4 https://update.code.visualstudio.com/latest/cli-linux-x64/stable \ | |
| -o /tmp/vscode-cli.tar.gz \ | |
| && tar -xzf /tmp/vscode-cli.tar.gz -C /usr/local/bin code \ | |
| && chmod 755 /usr/local/bin/code \ | |
| && rm /tmp/vscode-cli.tar.gz \ | |
| && code --version | |
| # Hyperframes v2 runtime dependencies; no fake TTS fallback. | |
| RUN python3 -m pip install --break-system-packages --no-cache-dir \ | |
| "edge-tts>=7.0.0" "numpy>=1.24" pillow requests playwright \ | |
| && npm install -g hyperframes@0.8.115 gsap@3.15.0 \ | |
| && python3 -m playwright install --with-deps chromium \ | |
| && chmod -R a+rX /opt/ms-playwright \ | |
| && rm -rf /var/lib/apt/lists/* /tmp/* | |
| # Use a non-root user. HF Docker Space must serve on 7860. | |
| RUN if getent passwd 1000 >/dev/null; then \ | |
| olduser="$(getent passwd 1000 | cut -d: -f1)"; \ | |
| usermod -l coder -d /home/coder "$olduser"; \ | |
| else \ | |
| useradd -m -u 1000 -s /bin/bash coder; \ | |
| fi \ | |
| && mkdir -p /opt/workstation/bridge /opt/workstation/scripts /opt/workstation/skill \ | |
| /home/coder/workspace /home/coder/data /home/coder/.local/share \ | |
| && chown -R coder /opt/workstation /home/coder | |
| COPY --chown=coder bridge/ /opt/workstation/bridge/ | |
| COPY --chown=coder skill/ /opt/workstation/skill/ | |
| COPY --chown=coder scripts/ /opt/workstation/scripts/ | |
| COPY --chown=coder nginx.conf supervisord.conf welcome.html /opt/workstation/ | |
| RUN chmod +x /opt/workstation/scripts/*.sh | |
| USER coder | |
| WORKDIR /home/coder/workspace | |
| EXPOSE 7860 | |
| ENTRYPOINT ["/usr/bin/tini","--","/opt/workstation/scripts/entrypoint.sh"] | |