Spaces:
Running
Running
Download Dockerfile from Leon4gr45/openoperator: direct link, hf CLI and curl.
- Browser
- Download file 3.28 kB
-
https://huggingface.co/spaces/Leon4gr45/openoperator/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/Leon4gr45/openoperator/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/Leon4gr45/openoperator/resolve/main/Dockerfile
3.28 kB
| # Hugging Face Spaces Docker SDK image. | |
| # Keep this build aligned with DockerfileLocal while binding the public Space port directly. | |
| FROM agent0ai/agent-zero-base:latest | |
| ARG BRANCH=local | |
| ENV BRANCH=${BRANCH} \ | |
| WEB_UI_HOST=0.0.0.0 \ | |
| WEB_UI_PORT=7860 \ | |
| A0_PUBLIC_URL=https://leon4gr45-openoperator.hf.space \ | |
| A0_CLOUDFLARE_DISABLED=true \ | |
| SPYNEL_AGENT_ZERO_URL=http://127.0.0.1:7860 \ | |
| HOME=/home/a0space \ | |
| XDG_CACHE_HOME=/home/a0space/.cache \ | |
| HF_HOME=/home/a0space/.cache/huggingface \ | |
| MPLCONFIGDIR=/home/a0space/.cache/matplotlib \ | |
| PIP_DISABLE_PIP_VERSION_CHECK=1 \ | |
| PATH="/opt/venv-a0/bin:${PATH}" | |
| COPY ./ /git/agent-zero | |
| COPY ./docker/run/fs/ins /ins | |
| COPY ./docker/run/fs/exe /exe | |
| RUN chmod -R +x /exe /ins | |
| RUN set -eu; \ | |
| for script in \ | |
| /ins/pre_install.sh \ | |
| /ins/install_A0.sh \ | |
| /ins/install_additional.sh \ | |
| /ins/install_A02.sh \ | |
| /ins/post_install.sh \ | |
| /exe/huggingface-entrypoint.sh; \ | |
| do \ | |
| test -f "$script" || { echo "Required script is missing: $script" >&2; exit 1; }; \ | |
| first_line="$(head -n 1 "$script")"; \ | |
| test "$first_line" != "version https://git-lfs.github.com/spec/v1" || { echo "Git LFS pointer found instead of executable script: $script" >&2; exit 1; }; \ | |
| case "$first_line" in '#!'*) ;; *) echo "Required script has no shebang: $script" >&2; exit 1;; esac; \ | |
| done; \ | |
| bash /ins/pre_install.sh "${BRANCH}" \ | |
| && bash /ins/install_A0.sh "${BRANCH}" \ | |
| && bash /ins/install_additional.sh "${BRANCH}" \ | |
| && bash /ins/install_A02.sh "${BRANCH}" \ | |
| && bash /ins/post_install.sh "${BRANCH}" \ | |
| && apt-get update && apt-get install -y --no-install-recommends rsync && rm -rf /var/lib/apt/lists/* \ | |
| && /opt/venv-a0/bin/pip install --no-cache-dir "huggingface_hub[cli]>=0.25.0" \ | |
| && /opt/venv-a0/bin/python -m spacy download en_core_web_sm \ | |
| && command -v rsync >/dev/null && rsync --version \ | |
| && /opt/venv-a0/bin/hf --help >/dev/null \ | |
| && python3 - <<'PY' | |
| from pathlib import Path | |
| path = Path("/etc/supervisor/conf.d/supervisord.conf") | |
| if path.exists(): | |
| text = path.read_text(encoding="utf-8") | |
| if "[program:run_tunnel_api]" in text: | |
| start = text.index("[program:run_tunnel_api]") | |
| end = text.index("[eventlistener:the_listener]", start) if "[eventlistener:the_listener]" in text else len(text) | |
| path.write_text(text[:start] + text[end:], encoding="utf-8") | |
| PY | |
| RUN if ! getent group 1000 >/dev/null; then groupadd --gid 1000 a0space; fi \ | |
| && space_group="$(getent group 1000 | cut -d: -f1)" \ | |
| && if ! getent passwd 1000 >/dev/null; then useradd --uid 1000 --gid "$space_group" --create-home --shell /bin/bash a0space; fi \ | |
| && space_user="$(getent passwd 1000 | cut -d: -f1)" \ | |
| && usermod --gid "$space_group" "$space_user" \ | |
| && install -d -o "$space_user" -g "$space_group" \ | |
| /home/a0space /home/a0space/.cache /a0/usr /a0/tmp \ | |
| && chown -R "$space_user":"$space_group" /a0 /home/a0space | |
| # Runtime dependency mutation fails on immutable Space layers and is unsafe in a | |
| # serving process. All Python dependencies and spaCy data are present above. | |
| ENV PIP_NO_INDEX=1 | |
| EXPOSE 7860 | |
| USER 1000:1000 | |
| CMD ["/exe/huggingface-entrypoint.sh"] | |