{"architecture":"amd64","config":{"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","DEBIAN_FRONTEND=noninteractive","LANG=en_US.UTF-8","LANGUAGE=en_US:en","LC_ALL=en_US.UTF-8","PYTHON_VERSION=3.11","PIP_NO_CACHE_DIR=1","PIP_DISABLE_PIP_VERSION_CHECK=1","PIP_ROOT_USER_ACTION=ignore","PIPX_HOME=/root/.local/share/pipx","PIPX_LOCAL_VENVS=/root/.local/share/pipx/venvs","POETRY_NO_CACHE=1","UV_NO_CACHE=1","UV_HTTP_TIMEOUT=500","UV_INDEX_STRATEGY=unsafe-best-match","S6_KEEP_ENV=1","S6_BEHAVIOUR_IF_STAGE2_FAILS=2","S6_SERVICES_GRACETIME=3000","S6_KILL_GRACETIME=3000","S6_VERBOSITY=1","S6_CMD_WAIT_FOR_SERVICES=1","PGCONFIG_FILE=/etc/postgresql/main/postgresql.conf","POSTGRES_DB=gpustack","GPUSTACK_HIGRESS_PLUGIN_DIR=/usr/local/share/gpustack-higress/plugins","AMD_VISIBLE_DEVICES=all","GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT_IGNORE_VOLUMES=/var/run/cdi;/usr/local/PPU_SDK;/opt/maca;/usr/local/corex;/opt/dtk;/usr/local/neuware;/usr/local/Ascend/ascend-toolkit;/opt/rocm","ASCEND_HOME_PATH=/usr/local/Ascend/ascend-toolkit/latest","LD_LIBRARY_PATH=/usr/local/PPU_SDK/CUDA_SDK/lib64:/usr/local/PPU_SDK/lib:/opt/maca/lib:/opt/mxdriver/lib:/usr/local/corex/lib64:/usr/local/neuware/lib64:/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/ascend-toolkit/latest/runtime/lib64:","CAMBRICON_VISIBLE_DEVICES=all","NEUWARE_HOME=/usr/local/neuware","HYGON_VISIBLE_DEVICES=all","IX_VISIBLE_DEVICES=all","COREX_HOME=/usr/local/corex","MTHREADS_VISIBLE_DEVICES=all","MTHREADS_DRIVER_CAPABILITIES=compute,utility","NVIDIA_DISABLE_REQUIRE=true","NVIDIA_VISIBLE_DEVICES=all","NVIDIA_DRIVER_CAPABILITIES=compute,utility","PPU_HOME=/usr/local/PPU_SDK","GPUSTACK_RUNTIME_LOG_EXCEPTION=false","GPUSTACK_RUNTIME_DEPLOY_CDI_SPECS_DIRECTORY=/var/run/cdi","GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT=true","GPUSTACK_RUNTIME_DEPLOY_CORRECT_RUNNER_IMAGE=false","GPUSTACK_RUNTIME_DOCKER_IMAGE_NO_PULL_VISUALIZATION=true","GPUSTACK_RUNTIME_DOCKER_MIRRORED_NAME_FILTER_LABELS=org.opencontainers.image.source=https://github.com/gpustack/gpustack;org.opencontainers.image.version=v2.1.2;org.opencontainers.image.revision=435deed081fa86eed3e620113e435efd01d20389;org.opencontainers.image.created=2026-04-21T08:05:29.312Z;"],"Entrypoint":["/usr/bin/entrypoint.sh"],"Volumes":{"/var/lib/gpustack":{}},"WorkingDir":"/","Labels":{"org.opencontainers.image.created":"2026-04-21T08:05:29.312Z","org.opencontainers.image.description":"A GPU cluster manager that configures and orchestrates inference engines like vLLM and SGLang for high-performance AI model deployment.","org.opencontainers.image.licenses":"Apache-2.0","org.opencontainers.image.ref.name":"ubuntu","org.opencontainers.image.revision":"435deed081fa86eed3e620113e435efd01d20389","org.opencontainers.image.source":"https://github.com/gpustack/gpustack","org.opencontainers.image.title":"gpustack","org.opencontainers.image.url":"https://github.com/gpustack/gpustack","org.opencontainers.image.version":"v2.1.2"},"Shell":["/bin/bash","-eo","pipefail","-c"]},"created":"2026-04-21T08:09:18.760946803Z","history":[{"created":"2026-02-10T16:49:54.555271506Z","created_by":"/bin/sh -c #(nop)  ARG RELEASE","empty_layer":true},{"created":"2026-02-10T16:49:54.597347Z","created_by":"/bin/sh -c #(nop)  ARG LAUNCHPAD_BUILD_ARCH","empty_layer":true},{"created":"2026-02-10T16:49:54.629922453Z","created_by":"/bin/sh -c #(nop)  LABEL org.opencontainers.image.ref.name=ubuntu","empty_layer":true},{"created":"2026-02-10T16:49:54.658571922Z","created_by":"/bin/sh -c #(nop)  LABEL org.opencontainers.image.version=24.04","empty_layer":true},{"created":"2026-02-10T16:49:56.804776604Z","created_by":"/bin/sh -c #(nop) ADD file:1ae27d2ef4369361104b699712f3897141e394785df5d193d67b44626f57eb87 in / "},{"created":"2026-02-10T16:49:57.226767398Z","created_by":"/bin/sh -c #(nop)  CMD [\"/bin/bash\"]","empty_layer":true},{"created":"2026-03-17T08:14:19.065368968Z","created_by":"SHELL [/bin/bash -eo pipefail -c]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:14:19.065368968Z","created_by":"ARG TARGETPLATFORM=linux/amd64","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:14:19.065368968Z","created_by":"ARG TARGETOS=linux","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:14:19.065368968Z","created_by":"ARG TARGETARCH=amd64","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:14:19.065368968Z","created_by":"ENV DEBIAN_FRONTEND=noninteractive LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:14:19.065368968Z","created_by":"RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c     # Tools\n\n    # Refresh\n    apt-get update -y \u0026\u0026 apt-get install -y --no-install-recommends \\\n        software-properties-common apt-transport-https \\\n        ca-certificates gnupg2 lsb-release gnupg-agent \\\n      \u0026\u0026 apt-get update -y \\\n      \u0026\u0026 add-apt-repository -y ppa:ubuntu-toolchain-r/test \\\n      \u0026\u0026 apt-get update -y\n\n    # Install\n    apt-get install -y --no-install-recommends \\\n        ca-certificates build-essential binutils bash openssl \\\n        curl wget aria2 \\\n        git git-lfs \\\n        unzip xz-utils \\\n        tzdata locales \\\n        iproute2 iputils-ping ifstat net-tools dnsutils pciutils ipmitool \\\n        procps sysstat htop \\\n        vim jq bc tree \\\n        logrotate cron netcat-openbsd\n\n    # Update locale\n    localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8\n\n    # Update timezone\n    rm -f /etc/localtime \\\n        \u0026\u0026 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \\\n        \u0026\u0026 echo \"Asia/Shanghai\" \u003e /etc/timezone \\\n        \u0026\u0026 dpkg-reconfigure --frontend noninteractive tzdata\n\n    # Cleanup\n    rm -rf /var/tmp/* \\\n        \u0026\u0026 rm -rf /tmp/* \\\n        \u0026\u0026 rm -rf /var/cache/apt\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-17T08:14:19.235722478Z","created_by":"RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c     # GCC\n\n    # Upgrade GCC if the Ubuntu version is lower than 21.04.\n    source /etc/os-release\n    if (( $(echo \"${VERSION_ID} \u003e= 21.04\" | bc -l) )); then\n        echo \"Skipping GCC upgrade for ${VERSION_ID}...\"\n        exit 0\n    fi\n\n    # Install\n    apt-get install -y --no-install-recommends \\\n        gcc-11 g++-11 gfortran-11 gfortran\n\n    # Update alternatives\n    if [[ -f /etc/alternatives/gcov-dump ]]; then update-alternatives --remove-all gcov-dump; fi; update-alternatives --install /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-dump-11 10\n    if [[ -f /etc/alternatives/lto-dump ]]; then update-alternatives --remove-all lto-dump; fi; update-alternatives --install /usr/bin/lto-dump lto-dump /usr/bin/lto-dump-11 10\n    if [[ -f /etc/alternatives/gcov ]]; then update-alternatives --remove-all gcov; fi; update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-11 10\n    if [[ -f /etc/alternatives/gcc ]]; then update-alternatives --remove-all gcc; fi; update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10\n    if [[ -f /etc/alternatives/gcc-nm ]]; then update-alternatives --remove-all gcc-nm; fi; update-alternatives --install /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-11 10\n    if [[ -f /etc/alternatives/cpp ]]; then update-alternatives --remove-all cpp; fi; update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-11 10\n    if [[ -f /etc/alternatives/g++ ]]; then update-alternatives --remove-all g++; fi; update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 10\n    if [[ -f /etc/alternatives/gcc-ar ]]; then update-alternatives --remove-all gcc-ar; fi; update-alternatives --install /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-11 10\n    if [[ -f /etc/alternatives/gcov-tool ]]; then update-alternatives --remove-all gcov-tool; fi; update-alternatives --install /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-11 10\n    if [[ -f /etc/alternatives/gcc-ranlib ]]; then update-alternatives --remove-all gcc-ranlib; fi; update-alternatives --install /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-11 10\n    if [[ -f /etc/alternatives/gfortran ]]; then update-alternatives --remove-all gfortran; fi; update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-11 10\n\n    # Cleanup\n    rm -rf /var/tmp/* \\\n        \u0026\u0026 rm -rf /tmp/* \\\n        \u0026\u0026 rm -rf /var/cache/apt\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-17T08:14:49.166843836Z","created_by":"RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c     # C buildkit\n\n    # Install\n    apt-get install -y --no-install-recommends \\\n        make ninja-build pkg-config ccache\n    curl --retry 3 --retry-connrefused -fL \"https://github.com/Kitware/CMake/releases/download/v3.31.7/cmake-3.31.7-linux-$(uname -m).tar.gz\" | tar -zx -C /usr --strip-components 1\n\n    # Install dependencies\n    apt-get install -y --no-install-recommends \\\n        openssl libssl-dev \\\n        zlib1g zlib1g-dev libbz2-dev libffi-dev \\\n        lzma lzma-dev uuid-dev liblzma-dev \\\n        ffmpeg libjpeg-dev libpng-dev libtiff-dev libwebp-dev \\\n        libsqlite3-dev \\\n        libxml2 libxslt1-dev \\\n        libnuma1 libnuma-dev \\\n        libgpgme-dev libassuan-dev libbtrfs-dev libdevmapper-dev \\\n        libjemalloc-dev\n\n    # Cleanup\n    rm -rf /var/tmp/* \\\n        \u0026\u0026 rm -rf /tmp/* \\\n        \u0026\u0026 rm -rf /var/cache/apt\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-17T08:14:49.166843836Z","created_by":"ARG PYTHON_VERSION=3.11","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:14:49.166843836Z","created_by":"ENV PYTHON_VERSION=3.11","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:15:35.037209432Z","created_by":"RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 /bin/bash -eo pipefail -c     # Python\n\n    if (( $(echo \"$(python3 --version | cut -d' ' -f2 | cut -d'.' -f1,2) == ${PYTHON_VERSION}\" | bc -l) )); then\n        echo \"Skipping Python upgrade for ${PYTHON_VERSION}...\"\n        if [[ -z \"$(ldconfig -v 2\u003e/dev/null | grep libpython${PYTHON_VERSION})\" ]]; then\n            PYTHON_LIB_PREFIX=$(python3 -c \"import sys; print(sys.base_prefix);\")\n            echo \"${PYTHON_LIB_PREFIX}/lib\" \u003e\u003e /etc/ld.so.conf.d/python3.conf\n            echo \"${PYTHON_LIB_PREFIX}/lib64\" \u003e\u003e /etc/ld.so.conf.d/python3.conf\n            ldconfig -v\n        fi\n        exit 0\n    fi\n\n    # Add deadsnakes PPA for Python versions\n    for i in 1 2 3; do\n        add-apt-repository -y ppa:deadsnakes/ppa \u0026\u0026 break || { echo \"Attempt $i failed, retrying in 5s...\"; sleep 5; }\n    done\n    apt-get update -y\n\n    # Install\n    apt-get install -y --no-install-recommends \\\n        python${PYTHON_VERSION} \\\n        python${PYTHON_VERSION}-dev \\\n        python${PYTHON_VERSION}-venv \\\n        python${PYTHON_VERSION}-lib2to3 \\\n        python${PYTHON_VERSION}-gdbm \\\n        python${PYTHON_VERSION}-tk\n    if (( $(echo \"${PYTHON_VERSION} \u003c= 3.11\" | bc -l) )); then\n        apt-get install -y --no-install-recommends \\\n            python${PYTHON_VERSION}-distutils\n    fi\n\n    # Update alternatives\n    if [[ -f /etc/alternatives/python3 ]]; then update-alternatives --remove-all python3; fi; update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1\n    if [[ -f /etc/alternatives/python ]]; then update-alternatives --remove-all python; fi; update-alternatives --install /usr/bin/python python /usr/bin/python${PYTHON_VERSION} 1\n    curl -sS \"https://bootstrap.pypa.io/get-pip.py\" | python${PYTHON_VERSION}\n    if [[ -f /etc/alternatives/2to3 ]]; then update-alternatives --remove-all 2to3; fi; update-alternatives --install /usr/bin/2to3 2to3 /usr/bin/2to3${PYTHON_VERSION} 1 || true\n    if [[ -f /etc/alternatives/pydoc3 ]]; then update-alternatives --remove-all pydoc3; fi; update-alternatives --install /usr/bin/pydoc3 pydoc3 /usr/bin/pydoc${PYTHON_VERSION} 1 || true\n    if [[ -f /etc/alternatives/idle3 ]]; then update-alternatives --remove-all idle3; fi; update-alternatives --install /usr/bin/idle3 idle3 /usr/bin/idle${PYTHON_VERSION} 1 || true\n    if [[ -f /etc/alternatives/python3-config ]]; then update-alternatives --remove-all python3-config; fi; update-alternatives --install /usr/bin/python3-config python3-config /usr/bin/python${PYTHON_VERSION}-config 1 || true\n\n    # Cleanup\n    rm -rf /var/tmp/* \\\n        \u0026\u0026 rm -rf /tmp/* \\\n        \u0026\u0026 rm -rf /var/cache/apt\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-17T08:15:35.037209432Z","created_by":"ENV PIP_NO_CACHE_DIR=1 PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore PIPX_HOME=/root/.local/share/pipx PIPX_LOCAL_VENVS=/root/.local/share/pipx/venvs POETRY_NO_CACHE=1 UV_NO_CACHE=1 UV_HTTP_TIMEOUT=500 UV_INDEX_STRATEGY=unsafe-best-match","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:15:45.125420742Z","created_by":"RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 /bin/bash -eo pipefail -c     # Buildkit\n\n    cat \u003c\u003cEOT \u003e/tmp/requirements.txt\nbuild\ncmake\u003c4\nninja\u003c1.11\nsetuptools\u003c80\nsetuptools-scm\npackaging\u003c25\nwheel\npybind11\u003c3\nCython\npsutil\npipx\nuv\nyq\nhatchling\npy-spy\npoetry\nEOT\n    pip install -r /tmp/requirements.txt\n\n    # Cleanup\n    rm -rf /var/tmp/* \\\n        \u0026\u0026 rm -rf /tmp/*\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-17T08:15:45.125420742Z","created_by":"ARG S6_OVERLAY_VERSION=3.2.1.0","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:15:45.781905881Z","created_by":"RUN |5 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 S6_OVERLAY_VERSION=3.2.1.0 /bin/bash -eo pipefail -c set -eux;     case \"${TARGETARCH}\" in         amd64)   S6_ARCH=\"x86_64\" ;;         arm64)   S6_ARCH=\"aarch64\" ;;         arm/v7)  S6_ARCH=\"armhf\" ;;         arm/v6)  S6_ARCH=\"arm\" ;;         *)             echo \u003e\u00262 \"⚠️  Warning: Unknown TARGETARCH='${TARGETARCH}', defaulting to x86_64\";             S6_ARCH=\"x86_64\";         ;;     esac;     echo \"Installing s6-overlay ${S6_OVERLAY_VERSION} for arch: ${S6_ARCH} (from TARGETARCH=${TARGETARCH})\";     base_url=\"https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}\";     for pkg in noarch ${S6_ARCH}; do         wget -q -O \"/tmp/s6-overlay-${pkg}.tar.xz\" \"${base_url}/s6-overlay-${pkg}.tar.xz\";     done     \u0026\u0026 echo \"📦  Extracting s6-overlay ...\"     \u0026\u0026 tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz     \u0026\u0026 tar -C / -Jxpf /tmp/s6-overlay-${S6_ARCH}.tar.xz     \u0026\u0026 rm -f /tmp/s6-overlay-*.tar.xz     \u0026\u0026 echo \"Installed s6-overlay ${S6_OVERLAY_VERSION} successfully.\" # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-17T08:15:45.781905881Z","created_by":"ENV S6_KEEP_ENV=1 S6_BEHAVIOUR_IF_STAGE2_FAILS=2 S6_SERVICES_GRACETIME=3000 S6_KILL_GRACETIME=3000 S6_VERBOSITY=1 S6_CMD_WAIT_FOR_SERVICES=1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:15:45.781905881Z","created_by":"SHELL [/bin/bash -eo pipefail -c]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:15:45.781905881Z","created_by":"ARG TARGETPLATFORM=linux/amd64","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:15:45.781905881Z","created_by":"ARG TARGETOS=linux","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:15:45.781905881Z","created_by":"ARG TARGETARCH=amd64","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:15:45.781905881Z","created_by":"VOLUME [/var/lib/gpustack]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-17T08:15:45.781905881Z","created_by":"ENV PGCONFIG_FILE=/etc/postgresql/main/postgresql.conf POSTGRES_DB=gpustack","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-19T09:38:48.090216993Z","created_by":"RUN |5 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 S6_OVERLAY_VERSION=3.2.1.0 /bin/bash -eo pipefail -c set -eux; \tgroupadd -r postgres --gid=9999; \tuseradd -r -g postgres --uid=9999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \tmkdir -p /var/lib/postgresql; \tchown -R postgres:postgres /var/lib/postgresql # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-19T09:38:59.83530975Z","created_by":"RUN |5 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 S6_OVERLAY_VERSION=3.2.1.0 /bin/bash -eo pipefail -c     set -eux\n\n    # Add PostgreSQL APT repository\n    wget -O /tmp/ACCC4CF8.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc \\\n        \u0026\u0026 gpg --dearmor /tmp/ACCC4CF8.asc \\\n        \u0026\u0026 mv /tmp/ACCC4CF8.asc.gpg /usr/share/keyrings/postgresql-archive-keyring.gpg \\\n        \u0026\u0026 echo \"deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main\" \u003e /etc/apt/sources.list.d/pgdg.list\n\n    # Install\n    apt-get update -y \u0026\u0026 apt-get install -y --no-install-recommends \\\n        postgresql-17 \\\n        gosu\n\n    # Create symlinks for PostgreSQL 17 to simplify usage\n    ln -s /usr/lib/postgresql/17/bin /usr/lib/postgresql/bin \\\n        \u0026\u0026 ln -s /etc/postgresql/17/main /etc/postgresql/main \\\n        \u0026\u0026 ln -s /var/lib/postgresql/17/main /var/lib/postgresql/main \\\n        \u0026\u0026 ls -1 /usr/lib/postgresql/bin/ | xargs -I @ ln -sf /usr/lib/postgresql/bin/@ /usr/bin/@\n\n    gosu postgres echo \"listen_addresses='*'\" \u003e\u003e \"$PGCONFIG_FILE\" \\\n        \u0026\u0026 gosu postgres echo \"local all  postgres            peer\" \u003e /etc/postgresql/main/pg_hba.conf \\\n        \u0026\u0026 gosu postgres echo \"host  all  root  127.0.0.1/32  trust\" \u003e\u003e /etc/postgresql/main/pg_hba.conf \\\n        \u0026\u0026 gosu postgres echo \"host  all  root  ::1/128       trust\" \u003e\u003e /etc/postgresql/main/pg_hba.conf \\\n        \u0026\u0026 gosu postgres echo \"host  all  all   0.0.0.0/0     scram-sha-256\" \u003e\u003e /etc/postgresql/main/pg_hba.conf\n\n    gosu postgres sed -i \"s/^data_directory/#data_directory/\" \"$PGCONFIG_FILE\" \\\n        \u0026\u0026 gosu postgres sed -i \"s/^hba_file/#hba_file/\" \"$PGCONFIG_FILE\" \\\n        \u0026\u0026 gosu postgres sed -i \"s/^#log_destination/log_destination/\" \"$PGCONFIG_FILE\" \\\n        \u0026\u0026 gosu postgres sed -i \"s/^#log_min_messages = warning/log_min_messages = info/\" \"$PGCONFIG_FILE\" \\\n        \u0026\u0026 gosu postgres sed -i \"s/^#logging_collector = off/logging_collector = on/\" \"$PGCONFIG_FILE\" \\\n        \u0026\u0026 gosu postgres sed -i \"s/^#log_filename/log_filename/\" \"$PGCONFIG_FILE\" \\\n        \u0026\u0026 gosu postgres sed -i \"s/^#log_rotation_size/log_rotation_size/\" \"$PGCONFIG_FILE\"\n\n    # Cleanup\n    rm -rf /var/tmp/* \\\n        \u0026\u0026 rm -rf /tmp/* \\\n        \u0026\u0026 rm -rf /var/cache/apt\n\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-19T09:39:04.035250621Z","created_by":"RUN |5 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 S6_OVERLAY_VERSION=3.2.1.0 /bin/bash -eo pipefail -c     # Prepare Higress standalone components\n\n    set -eux;\n    # Install API server\n    cp /mnt/apiserver /usr/local/bin/apiserver;\n\n    # Install controller\n    cp /mnt/higress /usr/local/bin/higress;\n\n    # Install pilot\n    cp /mnt/pilot/pilot-discovery /usr/local/bin/pilot-discovery;\n    cp /mnt/pilot/higress-pilot-start.sh /usr/local/bin/higress-pilot-start.sh;\n\n    # Install gateway\n    mkdir -p /var/lib/istio/envoy/\n    cp /mnt/gateway/var/lib/istio/envoy/*.json /var/lib/istio/envoy/;\n    cp /mnt/gateway/var/lib/istio/envoy/*.so /var/lib/istio/envoy/;\n    cp /mnt/gateway/usr/local/bin/pilot-agent /usr/local/bin/pilot-agent;\n    cp /mnt/gateway/usr/local/bin/envoy /usr/local/bin/envoy;\n    cp /mnt/gateway/usr/local/bin/supercronic-linux-${TARGETARCH} /usr/local/bin/;\n    ln -s supercronic-linux-${TARGETARCH} supercronic \u0026\u0026 mv supercronic /usr/local/bin/;\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-19T09:39:04.083840927Z","created_by":"COPY pack/rootfs/ / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-19T09:39:04.100410907Z","created_by":"COPY docker-compose/grafana/grafana_dashboards/ /etc/dashboards/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-19T09:39:04.100410907Z","created_by":"ENV GPUSTACK_HIGRESS_PLUGIN_DIR=/usr/local/share/gpustack-higress/plugins","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-19T09:39:04.100410907Z","created_by":"ARG GOPROXY=https://proxy.golang.org,direct","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-19T09:40:00.873195607Z","created_by":"RUN |6 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 S6_OVERLAY_VERSION=3.2.1.0 GOPROXY=https://proxy.golang.org,direct /bin/bash -eo pipefail -c     # Skopeo\n\n    # Install Go\n    curl --retry 3 --retry-connrefused -fL \"https://go.dev/dl/go1.23.3.${TARGETOS}-${TARGETARCH}.tar.gz\" | tar -zx -C /usr/local\n    export PATH=\"/usr/local/go/bin:${PATH}\"\n    export GOPROXY=\"${GOPROXY}\"\n    export\n\n    # Download\n    git -C /tmp clone --recursive --shallow-submodules \\\n        --depth 1 --branch v1.20.0 --single-branch \\\n        https://github.com/containers/skopeo.git skopeo\n\n    # Build and install\n    pushd /tmp/skopeo \\\n        \u0026\u0026 sed -i \"/export GOPROXY=.*/d\" Makefile \\\n        \u0026\u0026 make vendor \\\n        \u0026\u0026 DISABLE_DOCS=1 PREFIX=/usr make install-binary\n\n    # Configure Skopeo to allow insecure registries.\n    mkdir -p /etc/containers\n    cat\u003c\u003cEOT \u003e /etc/containers/policy.json\n{\n  \"default\": [\n    {\n      \"type\": \"insecureAcceptAnything\"\n    }\n  ]\n}\nEOT\n\n    # Review\n    skopeo --version\n\n    # Cleanup go\n    go clean -cache -modcache -testcache \\\n        \u0026\u0026 rm -rf /usr/local/go \\\n        \u0026\u0026 rm -rf /root/.cache/go-build\n\n    # Cleanup\n    rm -rf /var/tmp/* \\\n        \u0026\u0026 rm -rf /tmp/* \\\n        \u0026\u0026 rm -rf /var/cache/apt\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-19T09:40:00.873195607Z","created_by":"ARG PROMETHEUS_VERSION=3.5.1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-19T09:40:00.873195607Z","created_by":"ARG GRAFANA_VERSION=12.2.4","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-19T09:40:13.085074083Z","created_by":"RUN |8 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 S6_OVERLAY_VERSION=3.2.1.0 GOPROXY=https://proxy.golang.org,direct PROMETHEUS_VERSION=3.5.1 GRAFANA_VERSION=12.2.4 /bin/bash -eo pipefail -c     set -eux\n\n    apt-get update -y \u0026\u0026 apt-get install -y --no-install-recommends \\\n        fontconfig\n\n    case \"${TARGETARCH}\" in\n        amd64)\n            PROM_ARCH=\"amd64\"\n            GRAFANA_ARCH=\"amd64\"\n            ;;\n        arm64)\n            PROM_ARCH=\"arm64\"\n            GRAFANA_ARCH=\"arm64\"\n            ;;\n        *)\n            echo \"Unsupported TARGETARCH: ${TARGETARCH}\"\n            exit 1\n            ;;\n    esac\n\n    curl --retry 3 --retry-connrefused -fL \\\n        \"https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-${PROM_ARCH}.tar.gz\" \\\n        | tar -zx -C /opt\n    mv \"/opt/prometheus-${PROMETHEUS_VERSION}.linux-${PROM_ARCH}\" /opt/prometheus\n    ln -s /opt/prometheus/prometheus /usr/local/bin/prometheus\n    ln -s /opt/prometheus/promtool /usr/local/bin/promtool\n\n    curl --retry 3 --retry-connrefused -fL \\\n        \"https://dl.grafana.com/oss/release/grafana-${GRAFANA_VERSION}.linux-${GRAFANA_ARCH}.tar.gz\" \\\n        | tar -zx -C /opt\n    mv \"/opt/grafana-${GRAFANA_VERSION}\" /opt/grafana\n    ln -s /opt/grafana/bin/grafana-server /usr/local/bin/grafana-server\n    ln -s /opt/grafana/bin/grafana-cli /usr/local/bin/grafana-cli\n\n    mkdir -p /etc/grafana\n    cp /opt/grafana/conf/sample.ini /etc/grafana/grafana.ini.sample\n\n    rm -rf /var/tmp/* \\\n        \u0026\u0026 rm -rf /tmp/* \\\n        \u0026\u0026 rm -rf /var/cache/apt\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-21T08:09:17.147928337Z","created_by":"RUN |8 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 S6_OVERLAY_VERSION=3.2.1.0 GOPROXY=https://proxy.golang.org,direct PROMETHEUS_VERSION=3.5.1 GRAFANA_VERSION=12.2.4 /bin/bash -eo pipefail -c     # Install GPUStack\n\n    export POETRY_NO_CACHE=0\n    export UV_NO_CACHE=0\n    export UV_SYSTEM_PYTHON=1\n    export UV_LINK_MODE=copy\n\n    # Build GPUStack\n    cd /workspace/gpustack \\\n        \u0026\u0026 git config --global --add safe.directory /workspace/gpustack \\\n        \u0026\u0026 make build\n\n    # Install GPUStack.\n    # FIXME: There is no linux/arm64 vLLM prebuilt wheel,\n    #        so we only install the all wheel for linux/amd64.\n    if [ \"${TARGETARCH}\" == \"amd64\" ]; then\n        WHEEL_PACKAGE=\"$(ls /workspace/gpustack/dist/*.whl)[all]\";\n    else\n        WHEEL_PACKAGE=\"$(ls /workspace/gpustack/dist/*.whl)[audio]\";\n    fi\n\n    uv pip install --no-build-isolation --extra-index-url https://download.pytorch.org/whl/cpu/ \\\n        ${WHEEL_PACKAGE}\n\n    # Download tools\n    gpustack download-tools\n    tree -hs \"$(pip show gpustack | grep Location: | head -n 1 | cut -d\" \" -f 2)/gpustack/third_party\"\n\n    # Set up environment\n    mkdir -p /var/lib/gpustack \\\n        \u0026\u0026 chmod -R 0755 /var/lib/gpustack\n\n    # Review\n    uv pip tree \\\n        --package gpustack\n    gpustack version\n\n    # Download wasm-plugins\n    export ORAS_CACHE=/root/cache/oras\n    python gpustack/gateway/pull_plugins.py\n\n    # Try to update PCI IDs\n    if ! update-pciids; then\n        curl -o /usr/share/misc/pci.ids https://pci-ids.ucw.cz/v2.2/pci.ids || true\n    fi\n\n    # Cleanup\n    rm -rf /var/tmp/* \\\n        \u0026\u0026 rm -rf /tmp/* \\\n        \u0026\u0026 rm -rf /workspace/gpustack/dist\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"RUN |8 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.11 S6_OVERLAY_VERSION=3.2.1.0 GOPROXY=https://proxy.golang.org,direct PROMETHEUS_VERSION=3.5.1 GRAFANA_VERSION=12.2.4 /bin/bash -eo pipefail -c     # Reinstall amd-smi\n\n    export UV_SYSTEM_PYTHON=1\n    export UV_PRERELEASE=allow\n    uv pip install --no-build-isolation \\\n        /opt/rocm/share/amd_smi\n    uv pip tree\n\n    # Hack to avoid: Fail to open libdrm_amdgpu.so: libdrm_amdgpu.so: cannot open shared object file: No such file or directory\n    TARGET_DIR=\"/usr/lib/$(uname -m)-linux-gnu\"\n    TARGET_LIB=\"libdrm_amdgpu.so.1\"\n    TARGET_LINK=\"libdrm_amdgpu.so\"\n    TARGET_LIB_EXISTED=\"true\"\n    if [[ ! -e \"${TARGET_DIR}/${TARGET_LIB}\" ]]; then\n        TARGET_LIB_EXISTED=\"false\"\n        touch \"${TARGET_DIR}/${TARGET_LIB}\"\n    fi\n    pushd \"${TARGET_DIR}\" \\\n        \u0026\u0026 ln -sf \"${TARGET_LIB}\" \"${TARGET_LINK}\"\n    if [[ \"${TARGET_LIB_EXISTED}\" == \"false\" ]]; then\n        rm -f \"${TARGET_DIR}/${TARGET_LIB}\"\n    fi\n # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ENV AMD_VISIBLE_DEVICES=all GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT_IGNORE_VOLUMES=/opt/rocm","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ENV ASCEND_HOME_PATH=/usr/local/Ascend/ascend-toolkit/latest LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/ascend-toolkit/latest/runtime/lib64: GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT_IGNORE_VOLUMES=/usr/local/Ascend/ascend-toolkit;/opt/rocm","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ENV CAMBRICON_VISIBLE_DEVICES=all NEUWARE_HOME=/usr/local/neuware LD_LIBRARY_PATH=/usr/local/neuware/lib64:/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/ascend-toolkit/latest/runtime/lib64: GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT_IGNORE_VOLUMES=/usr/local/neuware;/usr/local/Ascend/ascend-toolkit;/opt/rocm","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ENV HYGON_VISIBLE_DEVICES=all GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT_IGNORE_VOLUMES=/opt/dtk;/usr/local/neuware;/usr/local/Ascend/ascend-toolkit;/opt/rocm","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ENV IX_VISIBLE_DEVICES=all COREX_HOME=/usr/local/corex LD_LIBRARY_PATH=/usr/local/corex/lib64:/usr/local/neuware/lib64:/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/ascend-toolkit/latest/runtime/lib64: GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT_IGNORE_VOLUMES=/usr/local/corex;/opt/dtk;/usr/local/neuware;/usr/local/Ascend/ascend-toolkit;/opt/rocm","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ENV LD_LIBRARY_PATH=/opt/maca/lib:/opt/mxdriver/lib:/usr/local/corex/lib64:/usr/local/neuware/lib64:/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/ascend-toolkit/latest/runtime/lib64: GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT_IGNORE_VOLUMES=/opt/maca;/usr/local/corex;/opt/dtk;/usr/local/neuware;/usr/local/Ascend/ascend-toolkit;/opt/rocm","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ENV MTHREADS_VISIBLE_DEVICES=all MTHREADS_DRIVER_CAPABILITIES=compute,utility","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ENV NVIDIA_DISABLE_REQUIRE=true NVIDIA_VISIBLE_DEVICES=all NVIDIA_DRIVER_CAPABILITIES=compute,utility","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ENV PPU_HOME=/usr/local/PPU_SDK LD_LIBRARY_PATH=/usr/local/PPU_SDK/CUDA_SDK/lib64:/usr/local/PPU_SDK/lib:/opt/maca/lib:/opt/mxdriver/lib:/usr/local/corex/lib64:/usr/local/neuware/lib64:/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/ascend-toolkit/latest/runtime/lib64: GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT_IGNORE_VOLUMES=/usr/local/PPU_SDK;/opt/maca;/usr/local/corex;/opt/dtk;/usr/local/neuware;/usr/local/Ascend/ascend-toolkit;/opt/rocm","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ARG GPUSTACK_RUNTIME_DOCKER_MIRRORED_NAME_FILTER_LABELS=org.opencontainers.image.source=https://github.com/gpustack/gpustack;org.opencontainers.image.version=v2.1.2;org.opencontainers.image.revision=435deed081fa86eed3e620113e435efd01d20389;org.opencontainers.image.created=2026-04-21T08:05:29.312Z;","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.684100492Z","created_by":"ENV GPUSTACK_RUNTIME_LOG_EXCEPTION=false GPUSTACK_RUNTIME_DEPLOY_CDI_SPECS_DIRECTORY=/var/run/cdi GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT=true GPUSTACK_RUNTIME_DEPLOY_MIRRORED_DEPLOYMENT_IGNORE_VOLUMES=/var/run/cdi;/usr/local/PPU_SDK;/opt/maca;/usr/local/corex;/opt/dtk;/usr/local/neuware;/usr/local/Ascend/ascend-toolkit;/opt/rocm GPUSTACK_RUNTIME_DEPLOY_CORRECT_RUNNER_IMAGE=false GPUSTACK_RUNTIME_DOCKER_IMAGE_NO_PULL_VISUALIZATION=true GPUSTACK_RUNTIME_DOCKER_MIRRORED_NAME_FILTER_LABELS=org.opencontainers.image.source=https://github.com/gpustack/gpustack;org.opencontainers.image.version=v2.1.2;org.opencontainers.image.revision=435deed081fa86eed3e620113e435efd01d20389;org.opencontainers.image.created=2026-04-21T08:05:29.312Z;","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.760946803Z","created_by":"COPY --chmod=755 pack/entrypoint.sh /usr/bin/entrypoint.sh # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-21T08:09:18.760946803Z","created_by":"WORKDIR /","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-21T08:09:18.760946803Z","created_by":"ENTRYPOINT [\"/usr/bin/entrypoint.sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:efafae78d70c98626c521c246827389128e7d7ea442db31bc433934647f0c791","sha256:c1db20e3533175a79de20edfe1bf711bd3c037d2b82eed8a7e00829613387ff2","sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef","sha256:402ba9d874863206f5ae3d32fc695031252b003be75218f6617848de096e4f12","sha256:d3a663fbe07ac24a8ecb8e634364c384db3619f3b2a7063df148bfe03d116c30","sha256:f43ec12cc8815ccf5c35b173655b9669d8d880ef26e814e80fdafa74b81c1614","sha256:65853087d630ed41df20406738d97b0d52a95b962b96ac179e57c70f52460fdd","sha256:55039ad4c6192f433575fbc7b97c05dfb8ca3f8b96e6ca809142d60f8de30966","sha256:5762ca745fd19d0de2a02521abc4260e4641501d8ad5074084ed19f098329d5d","sha256:338313f97e6e3ad6ed6936eb825ed0ecb3994ea6f1d8156af06f20d4275f58f7","sha256:b599845765a2db9de0518b42552e4d9fc8e0668e2b13f3e0435b01acad3e23bf","sha256:59895f5db2c35d895f9e26858570f98eb3cbec45bedece0cc408b243103a84df","sha256:171619005513f20f1c37d3197ed351657ee326007a55885a7d4917ce4c95cedb","sha256:3cf047280b46a724f0823c697b6141856a1be8921a8fedd891719d0ebd6f3ba9","sha256:841265831d370ff7d06e29722e7e2149446776c0225dea8a526b4bd4e101ae0a","sha256:a84827b54fe21caefb1bea245e602159d67ab0c7d055628d09492d3d7e6b356f","sha256:0fe20bd387e2ed29898598bcfe73964a2757c69fb06e1da614a1e5786a5f8c4d"]}}