镜像构建历史
# 2026-05-13 03:13:06 0.00B 设置默认要执行的命令
CMD ["uvicorn" "model_server.main:app" "--host" "0.0.0.0" "--port" "9000"]
# 2026-05-13 03:13:06 0.00B 设置环境变量 ONYX_VERSION
ENV ONYX_VERSION=v3.3.4
# 2026-05-13 03:13:06 0.00B 定义构建参数
ARG ONYX_VERSION=v3.3.4
# 2026-05-13 03:13:06 0.00B 设置环境变量 PYTHONPATH
ENV PYTHONPATH=/app
# 2026-05-13 03:13:06 15.71KB 复制新文件或目录到容器中
COPY ./model_server /app/model_server # buildkit
# 2026-05-13 03:13:06 13.20KB 复制新文件或目录到容器中
COPY ./shared_configs /app/shared_configs # buildkit
# 2026-05-13 03:13:06 77.00B 复制新文件或目录到容器中
COPY ./onyx/__init__.py /app/onyx/__init__.py # buildkit
# 2026-05-13 03:13:06 1.33KB 复制新文件或目录到容器中
COPY ./onyx/configs/sentry.py /app/onyx/configs/sentry.py # buildkit
# 2026-05-13 03:13:06 0.00B 复制新文件或目录到容器中
COPY ./onyx/configs/__init__.py /app/onyx/configs/__init__.py # buildkit
# 2026-05-13 03:13:06 448.00B 复制新文件或目录到容器中
COPY ./onyx/utils/tenant.py /app/onyx/utils/tenant.py # buildkit
# 2026-05-13 03:13:06 4.72KB 复制新文件或目录到容器中
COPY ./onyx/utils/middleware.py /app/onyx/utils/middleware.py # buildkit
# 2026-05-13 03:13:05 977.00B 复制新文件或目录到容器中
COPY ./onyx/utils/platform.py /app/onyx/utils/platform.py # buildkit
# 2026-05-13 03:13:05 10.34KB 复制新文件或目录到容器中
COPY ./onyx/utils/logger.py /app/onyx/utils/logger.py # buildkit
# 2026-05-13 03:13:05 0.00B 设置工作目录为/app
WORKDIR /app
# 2026-05-13 03:13:05 548.38MB 复制新文件或目录到容器中
COPY --chown=onyx:onyx /app/.cache/huggingface /app/.cache/temp_huggingface # buildkit
# 2026-05-13 03:12:42 8.90KB 执行命令并创建新的镜像层
RUN /bin/sh -c groupadd -g 1001 onyx && useradd -u 1001 -g onyx -m -s /bin/bash onyx && mkdir -p /var/log/onyx && chmod 755 /var/log/onyx && chown onyx:onyx /var/log/onyx # buildkit
# 2026-05-13 03:12:41 0.00B 添加元数据标签
LABEL com.danswer.description=This image is for the Onyx model server which runs all of the AI models for Onyx. This container and all the code is MIT Licensed and free for all to use. You can find it at https://hub.docker.com/r/onyx/onyx-model-server. For more details, visit https://github.com/onyx-dot-app/onyx.
# 2026-05-13 03:12:41 0.00B 添加元数据标签
LABEL com.danswer.maintainer=founders@onyx.app
# 2026-05-13 03:12:41 800.82MB 执行命令并创建新的镜像层
RUN /bin/sh -c uv pip install --system --no-cache-dir -r /tmp/requirements.txt && rm -rf ~/.cache/uv /tmp/*.txt # buildkit
# 2026-05-13 03:12:36 6.95GB 执行命令并创建新的镜像层
RUN /bin/sh -c grep -E '^(torch|nvidia-[a-z0-9-]+|triton)==' /tmp/requirements.txt | uv pip install --system --no-cache-dir -r /dev/stdin && rm -rf ~/.cache/uv # buildkit
# 2026-05-13 03:12:07 12.12KB 复制新文件或目录到容器中
COPY ./requirements/model_server.txt /tmp/requirements.txt # buildkit
# 2026-05-13 03:12:07 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p /app/.cache/huggingface # buildkit
# 2026-05-13 03:12:06 50.17MB 复制新文件或目录到容器中
COPY /uv /uvx /bin/ # buildkit
# 2026-05-13 03:12:06 0.00B 设置环境变量 ONYX_RUNNING_IN_DOCKER HF_HOME
ENV ONYX_RUNNING_IN_DOCKER=true HF_HOME=/app/.cache/huggingface
# 2026-04-07 10:28:13 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2026-04-07 10:28:13 36.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit
# 2026-04-07 10:28:13 45.51MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel<0.46' ; pip3 --version # buildkit
# 2026-04-07 10:19:13 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625
# 2026-04-07 10:19:13 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.11.15
# 2026-04-07 10:19:13 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
# 2026-04-07 10:19:13 9.26MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit
# 2026-04-07 10:19:13 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2026-04-07 10:19:13 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-04-06 08:00:00 74.83MB
# debian.sh --arch 'amd64' out/ 'bookworm' '@1775433600'
镜像信息
{
"Id": "sha256:fdf8164350fe107d69008b20f6728b471887757bb69d75e574f5ebc59daf6b5b",
"RepoTags": [
"onyxdotapp/onyx-model-server:v3.3.4",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/onyxdotapp/onyx-model-server:v3.3.4"
],
"RepoDigests": [
"onyxdotapp/onyx-model-server@sha256:3c6b56f28b8bd67d38f8b39b1eee684cd1dee7d0f0a6b0ca4e3d8e4cde8da82b",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/onyxdotapp/onyx-model-server@sha256:6c6474e4aa0973ad8ddbe2067b8cbc00df1249ebbb20d8180cf8980055d87f32"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-05-12T19:13:06.340220644Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D",
"PYTHON_VERSION=3.11.15",
"PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625",
"ONYX_RUNNING_IN_DOCKER=true",
"HF_HOME=/app/.cache/huggingface",
"PYTHONPATH=/app",
"ONYX_VERSION=v3.3.4"
],
"Cmd": [
"uvicorn",
"model_server.main:app",
"--host",
"0.0.0.0",
"--port",
"9000"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/app",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"com.danswer.description": "This image is for the Onyx model server which runs all of the AI models for Onyx. This container and all the code is MIT Licensed and free for all to use. You can find it at https://hub.docker.com/r/onyx/onyx-model-server. For more details, visit https://github.com/onyx-dot-app/onyx.",
"com.danswer.maintainer": "founders@onyx.app",
"org.opencontainers.image.created": "2026-05-12T19:11:55.979Z",
"org.opencontainers.image.description": "Open Source AI Platform - AI Chat with advanced features that works with every LLM",
"org.opencontainers.image.licenses": "NOASSERTION",
"org.opencontainers.image.revision": "fac4af8c01a4d4d3b3efe75e09c3a59579773913",
"org.opencontainers.image.source": "https://github.com/onyx-dot-app/onyx",
"org.opencontainers.image.title": "onyx",
"org.opencontainers.image.url": "https://github.com/onyx-dot-app/onyx",
"org.opencontainers.image.version": "v3.3.4"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 8482363991,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/73988054cd05b6cd8d67f6881c0bebab95ab94bb3b7d17724374649f04cb5e5f/diff:/var/lib/docker/overlay2/8ca0bb3eda0c76a55c6d7787512da53d416d28c0133d5823f2ebc776ef268db6/diff:/var/lib/docker/overlay2/3f84781b3de1edae7c31156e45d523ee1da3381e089e4569f771a302355b0755/diff:/var/lib/docker/overlay2/c5819a0c637674f71a339aeced47cfef5013600ec52a1ce3e3833c01d9636e93/diff:/var/lib/docker/overlay2/6076d76653fcbd1d3340aede4894052fd70a62fe6d0234ffbb0e46de7c249b6b/diff:/var/lib/docker/overlay2/fe9a7694a6a419cbf1a711e869032fab0e55aac61342e7c35e65514fed821129/diff:/var/lib/docker/overlay2/a716de8696e9891654acdd6bbf5f6a00d89b9ffabcee8eb35c2d41170a7fffb2/diff:/var/lib/docker/overlay2/5db8144025ee7c017b5432d71d5e6cc21ce2cc88cff6395cf3df07fdcdb45e93/diff:/var/lib/docker/overlay2/58d94033333d2fcef33c4cede39b3daff858dc3fa71a3747a3fdd568c2ec0d7d/diff:/var/lib/docker/overlay2/1ce7d620ed96ce28bd94f44469e5788597885a49201017c09aaac012553f1dbd/diff:/var/lib/docker/overlay2/2a0318a4679ab33ac0eed89b525e23c08a04726db4a64c31581ea8e324d2a5e8/diff:/var/lib/docker/overlay2/fc8f5669a007dc0444f90026abf0b5fd1152b68eb99cccf9980c40e7c7bfd047/diff:/var/lib/docker/overlay2/22845a0264147604cc4f4194464c3bb5a8e7e06ca0f59d1ad785e1d76acbb8fb/diff:/var/lib/docker/overlay2/b3f07f501ec14ef3a7470316c57e342be695869eaecfd3f3211749b96873ffcc/diff:/var/lib/docker/overlay2/d31fa42581195d45a2046ac464c70e0339ec6f4bb1c7f5cc8e289ac4d5bee66f/diff:/var/lib/docker/overlay2/b0d28ea4114df4de8f073ce13d1fbc34996132151a2a4be36c8136d81f3f01fe/diff:/var/lib/docker/overlay2/b5f731bf4493c30d74ef051e857750ecc9a4014c0df9d252f24c7c77a675cacb/diff:/var/lib/docker/overlay2/2fa3a5cc65a2a484373e1b184d6429f790c6357e2015d076a20e18165960bb4e/diff:/var/lib/docker/overlay2/5627430dbcd836fd7e3ff934558f8fbcb2a56815de24e2bfb1c4dddc36015afe/diff:/var/lib/docker/overlay2/a3d6da37fc1a80bcdf27b467ab53fbd78923ca49c0a86db9c9a643ce471d792f/diff",
"MergedDir": "/var/lib/docker/overlay2/b9538d47b1d653fa5a5fd592a48aa6347f2bba9c1fdd19e46745f90287b3648a/merged",
"UpperDir": "/var/lib/docker/overlay2/b9538d47b1d653fa5a5fd592a48aa6347f2bba9c1fdd19e46745f90287b3648a/diff",
"WorkDir": "/var/lib/docker/overlay2/b9538d47b1d653fa5a5fd592a48aa6347f2bba9c1fdd19e46745f90287b3648a/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:335fc45cf5e8eaa6d5b19a54b16db34311ce0d7a068eb2a9222eab4ddd3c216d",
"sha256:3ef226d67484a5a7d9d30db3acf5878355bda6f2f7b7c5e6d275c0139c6ed70f",
"sha256:3bf79381acc041e2749cce92492775153c9a3b1fdb55f8a6d671034b2d4e854c",
"sha256:1ef2b3edd18f4a7f7fcd21032a7bf75eaacb239a78e950eea7ae350d6f810de7",
"sha256:8ce5ecf236c843b8723c06469b6a9c71591d79f1c9330267361e299535560412",
"sha256:12cb5d0551ed9687af0c140a5da00c0ae2304ae2369f1d7214a4648f4881bd17",
"sha256:fa416d4427566d12777f7e01d7c873f8ea473d55e86a2003f7125f890c67d34e",
"sha256:5186df566be8c582614883917dbf8053b0e56529bfea4baf15d181c035d4b994",
"sha256:a4ef71c91aa93bc9c6bccfd859c14407f459993ff37a007ef2af21270fd8e264",
"sha256:7d0e85e7f8eb4c37fa407d49f1ad2c53c93a507b22ced7a97ffba20325905a87",
"sha256:46c99edafd889495554731a88dcb9f8b66e91d36bfa62f18879e6eec22c1e305",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:ee9e64fe54c282f808970b77b210b59f0b82653ec72113915bbc4646fe0918fd",
"sha256:75ba2b07a1da834aaa6b7e5dcbdfbd987e962813ef0c44495cba4a30e328cd6c",
"sha256:634cecf3b005b4ab565160a73b40c9f1cdf74a38552f78f1fe3f60da33276ce9",
"sha256:20749efff4302fc694651db9d1627548c2a8f1a6fe2bb51fb2fc335370a93fff",
"sha256:59dd7b34305763d71364c670cb323091d133702fb3a6817655cea840035f23b8",
"sha256:809517e2ab0e6bd04c31dfbbfedfc5325cd2165ca71fad9e0c7091d245d5515e",
"sha256:e0d0b4b57b94fe8c8a486860d41c9b42af88f863196d5454d8552b2d2f4e7dad",
"sha256:db191de6e560d65e347e90737f96946d1b1750c13b45bda7e288ca7efdd3695f",
"sha256:3052c5a4c102419616241b89323c1bc0dd04cedf35c2dec2fa5ad3a1a0c6ac9a"
]
},
"Metadata": {
"LastTagTime": "2026-05-14T00:54:35.008002362+08:00"
}
}