robotanner-openarc (main)

Published 2026-06-17 23:42:11 +00:00 by tanner

Installation

docker pull git.tannerdw.com/tanner/robotanner-openarc:main
sha256:bca30c69174ccb9f4026e8cafe0901d8c443670ca8b5cc2846a20e5546cf6683

About this package

Inference engine for Intel devices. Serve LLMs, VLMs, Whisper, Kokoro-TTS, Embedding and Rerank models over OpenAI endpoints.

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.version=24.04
ADD file:46ac5b8ee4c64ad9ebe840abd5619f571a617ac19483764d47d0eeba7907934f in /
CMD ["/bin/bash"]
ENV DEBIAN_FRONTEND=noninteractive
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates curl git gpg gpg-agent wget python3 python3-venv python3-dev python3-pip cmake build-essential libudev-dev && update-alternatives --install /usr/bin/python python /usr/bin/python3 1 && rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/sh -c wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg && echo "deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu noble client" > /etc/apt/sources.list.d/intel-gpu-noble.list # buildkit
RUN /bin/sh -c git clone https://github.com/intel/linux-npu-driver.git /tmp/npu-driver && cd /tmp/npu-driver && git submodule update --init --recursive && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. && make -j"$(nproc)" && make install && ldconfig && cd / && rm -rf /tmp/npu-driver # buildkit
RUN /bin/sh -c curl -LsSf https://astral.sh/uv/install.sh | sh # buildkit
ENV PATH=/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
WORKDIR /app
COPY pyproject.toml ./ # buildkit
COPY uv.lock* ./ # buildkit
COPY README* ./ # buildkit
RUN /bin/sh -c uv sync --no-install-project && uv pip install "optimum-intel[openvino] @ git+https://github.com/huggingface/optimum-intel" && uv pip install --pre -U openvino-genai openvino-tokenizers --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly # buildkit
ENV PATH=/app/.venv/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN /bin/sh -c python -m compileall -q /app/.venv/lib/python3.12/site-packages # buildkit
COPY . /app # buildkit
RUN /bin/sh -c uv pip install --no-deps -e . # buildkit
RUN /bin/sh -c python -m compileall -q /app/src # buildkit
ENV NEOReadDebugKeys=1 OverrideGpuAddressSpace=48 EnableImplicitScaling=1 OPENARC_API_KEY=key OPENARC_AUTOLOAD_MODEL= OPENARC_MODELS_DIR=/models
RUN /bin/sh -c mkdir -p /persist /models && ln -sf /persist/openarc_config.json /app/openarc_config.json # buildkit
RUN /bin/sh -c cat > /usr/local/bin/start-openarc.sh <<'SCRIPT' #!/bin/bash set -e echo "================================================" echo "=== Starting OpenArc Server ===" echo "================================================" if [ -f /app/BUILD_INFO.txt ]; then cat /app/BUILD_INFO.txt echo "" fi echo "=== Runtime Configuration ===" echo "Port: 8000" echo "API Key: ${OPENARC_API_KEY:0:10}..." echo "Auto-load Model: ${OPENARC_AUTOLOAD_MODEL:-none}" echo "" echo "================================================" # Start server in background openarc serve start --host 0.0.0.0 --port 8000 & SERVER_PID=$! # Auto-load model if specified if [ -n "$OPENARC_AUTOLOAD_MODEL" ]; then echo "Waiting for server to start..." for i in {1..24}; do if curl -s -f -H "Authorization: Bearer ${OPENARC_API_KEY}" http://localhost:8000/v1/models >/dev/null 2>&1; then echo "Server ready after $(( (i - 1) * 5)) seconds" echo "Auto-loading model: $OPENARC_AUTOLOAD_MODEL" openarc load "$OPENARC_AUTOLOAD_MODEL" || echo "Failed to auto-load model" openarc status || true break fi sleep 5 done fi # Wait for server wait $SERVER_PID SCRIPT # buildkit
RUN /bin/sh -c sed -i 's/\r$//' /usr/local/bin/start-openarc.sh && chmod +x /usr/local/bin/start-openarc.sh # buildkit
ARG OPENARC_VARIANT=standard
RUN |1 OPENARC_VARIANT=standard /bin/sh -c apt-get update && apt-get install -y --no-install-recommends intel-opencl-icd intel-level-zero-gpu level-zero level-zero-dev && rm -rf /var/lib/apt/lists/* # buildkit
COPY /build-date /tmp/build-date # buildkit
COPY /git-vcs-ref /tmp/git-vcs-ref # buildkit
COPY /git-vcs-describe /tmp/git-vcs-describe # buildkit
COPY /git-openarc-source /tmp/git-openarc-source # buildkit
RUN |1 OPENARC_VARIANT=standard /bin/sh -c BUILD_DATE="$(cat /tmp/build-date)" && VCS_REF="$(cat /tmp/git-vcs-ref)" && VCS_DESCRIBE="$(cat /tmp/git-vcs-describe)" && OPENARC_SOURCE="$(cat /tmp/git-openarc-source)" && echo "=== Build Information ===" > /app/BUILD_INFO.txt && echo "Docker Image Variant: ${OPENARC_VARIANT}" >> /app/BUILD_INFO.txt && echo "Build Date: ${BUILD_DATE}" >> /app/BUILD_INFO.txt && echo "OpenARC Version: ${VCS_DESCRIBE}" >> /app/BUILD_INFO.txt && echo "Git Ref: ${VCS_REF}" >> /app/BUILD_INFO.txt && echo "Source: ${OPENARC_SOURCE}" >> /app/BUILD_INFO.txt && echo "" >> /app/BUILD_INFO.txt && echo "=== Intel Package Versions ===" >> /app/BUILD_INFO.txt && uv pip list | grep -E "(openvino|optimum|torch)" >> /app/BUILD_INFO.txt || true && echo "" >> /app/BUILD_INFO.txt && echo "=== System Package Versions ===" >> /app/BUILD_INFO.txt && dpkg -l | grep -E "intel-opencl|level-zero|libze" | awk '{print $2 " " $3}' >> /app/BUILD_INFO.txt || true # buildkit
EXPOSE [8000/tcp]
HEALTHCHECK {Test:[CMD-SHELL curl -f -H "Authorization: Bearer ${OPENARC_API_KEY}" http://localhost:8000/v1/models || exit 1] Interval:30s Timeout:10s StartPeriod:10s StartInterval:0s Retries:3}
CMD ["/usr/local/bin/start-openarc.sh"]
ENV HF_HUB_DOWNLOAD_TIMEOUT=60 HF_HUB_ETAG_TIMEOUT=60
/bin/sh -c --mount=type=secret,id=hf_token mkdir -p /models/kokoro /persist && python - <<'PY' import os import time from pathlib import Path from huggingface_hub import snapshot_download token_path = Path("/run/secrets/hf_token") token = token_path.read_text().strip() if token_path.exists() else None for attempt in range(1, 6): try: snapshot_download("Echo9Zulu/Kokoro-82M-FP16-OpenVINO", local_dir="/models/kokoro", max_workers=1, token=token) break except Exception: if attempt == 5: raise time.sleep(attempt * 10)
/bin/sh -c cat > /persist/openarc_config.json <<'JSON' { "server": { "host": "0.0.0.0", "port": 8000 }, "created_by": "garden", "version": "1.0", "models": { "kokoro": { "model_name": "kokoro", "model_path": "/models/kokoro", "model_type": "kokoro", "engine": "openvino", "device": "GPU", "runtime_config": {} } } }
/bin/sh -c /app/.venv/bin/python -m spacy download en_core_web_sm
LABEL "org.opencontainers.image.revision"="405e2342cb6387f610508261f4f6fc862d5e1651"

Labels

Key Value
io.buildah.version 1.42.2
org.opencontainers.image.created 2026-06-16T22:58:50.949Z
org.opencontainers.image.description Inference engine for Intel devices. Serve LLMs, VLMs, Whisper, Kokoro-TTS, Embedding and Rerank models over OpenAI endpoints.
org.opencontainers.image.licenses Apache-2.0
org.opencontainers.image.revision 405e2342cb6387f610508261f4f6fc862d5e1651
org.opencontainers.image.source https://github.com/SearchSavior/OpenArc
org.opencontainers.image.title OpenArc
org.opencontainers.image.url https://github.com/SearchSavior/OpenArc
org.opencontainers.image.version main
Details
Container
2026-06-17 23:42:11 +00:00
61
OCI / Docker
linux/amd64
Apache-2.0
1.6 GiB
Versions (1) View all
main 2026-06-17