{"architecture":"amd64","config":{"User":"appuser","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"],"Cmd":["python3"],"WorkingDir":"/app","Labels":{"com.docker.compose.project":"zm-rag-prod","com.docker.compose.service":"celery-worker","com.docker.compose.version":"2.20.2"},"OnBuild":null},"created":"2026-03-26T17:54:26.658338123+08:00","history":[{"created":"2026-03-16T00:00:00Z","created_by":"# debian.sh --arch 'amd64' out/ 'trixie' '@1773619200'","comment":"debuerreotype 0.17"},{"created":"2026-03-16T23:02:00.941790903Z","created_by":"ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-16T23:02:00.941790903Z","created_by":"ENV LANG=C.UTF-8","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-16T23:02:00.941790903Z","created_by":"RUN /bin/sh -c set -eux; \tapt-get update; \tapt-get install -y --no-install-recommends \t\tca-certificates \t\tnetbase \t\ttzdata \t; \tapt-get dist-clean # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-16T23:02:00.941790903Z","created_by":"ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-16T23:02:00.941790903Z","created_by":"ENV PYTHON_VERSION=3.11.15","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-16T23:02:00.941790903Z","created_by":"ENV PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-16T23:10:17.62864443Z","created_by":"RUN /bin/sh -c set -eux; \t\tsavedAptMark=\"$(apt-mark showmanual)\"; \tapt-get update; \tapt-get install -y --no-install-recommends \t\tdpkg-dev \t\tgcc \t\tgnupg \t\tlibbluetooth-dev \t\tlibbz2-dev \t\tlibc6-dev \t\tlibdb-dev \t\tlibffi-dev \t\tlibgdbm-dev \t\tliblzma-dev \t\tlibncursesw5-dev \t\tlibreadline-dev \t\tlibsqlite3-dev \t\tlibssl-dev \t\tmake \t\ttk-dev \t\tuuid-dev \t\twget \t\txz-utils \t\tzlib1g-dev \t; \t\twget -O python.tar.xz \"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz\"; \techo \"$PYTHON_SHA256 *python.tar.xz\" | sha256sum -c -; \twget -O python.tar.xz.asc \"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc\"; \tGNUPGHOME=\"$(mktemp -d)\"; export GNUPGHOME; \tgpg --batch --keyserver hkps://keys.openpgp.org --recv-keys \"$GPG_KEY\"; \tgpg --batch --verify python.tar.xz.asc python.tar.xz; \tgpgconf --kill all; \trm -rf \"$GNUPGHOME\" python.tar.xz.asc; \tmkdir -p /usr/src/python; \ttar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \trm python.tar.xz; \t\tcd /usr/src/python; \tgnuArch=\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\"; \t./configure \t\t--build=\"$gnuArch\" \t\t--enable-loadable-sqlite-extensions \t\t--enable-optimizations \t\t--enable-option-checking=fatal \t\t--enable-shared \t\t$(test \"${gnuArch%%-*}\" != 'riscv64' \u0026\u0026 echo '--with-lto') \t\t--with-ensurepip \t; \tnproc=\"$(nproc)\"; \tEXTRA_CFLAGS=\"$(dpkg-buildflags --get CFLAGS)\"; \tLDFLAGS=\"$(dpkg-buildflags --get LDFLAGS)\"; \tLDFLAGS=\"${LDFLAGS:-} -Wl,--strip-all\"; \tmake -j \"$nproc\" \t\t\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\" \t\t\"LDFLAGS=${LDFLAGS:-}\" \t; \trm python; \tmake -j \"$nproc\" \t\t\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\" \t\t\"LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\\$\\$ORIGIN/../lib'\" \t\tpython \t; \tmake install; \t\tcd /; \trm -rf /usr/src/python; \t\tfind /usr/local -depth \t\t\\( \t\t\t\\( -type d -a \\( -name test -o -name tests -o -name idle_test \\) \\) \t\t\t-o \\( -type f -a \\( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \\) \\) \t\t\\) -exec rm -rf '{}' + \t; \t\tldconfig; \t\tapt-mark auto '.*' \u003e /dev/null; \tapt-mark manual $savedAptMark; \tfind /usr/local -type f -executable -not \\( -name '*tkinter*' \\) -exec ldd '{}' ';' \t\t| awk '/=\u003e/ { so = $(NF-1); if (index(so, \"/usr/local/\") == 1) { next }; gsub(\"^/(usr/)?\", \"\", so); printf \"*%s\\n\", so }' \t\t| sort -u \t\t| xargs -rt dpkg-query --search \t\t| awk 'sub(\":$\", \"\", $1) { print $1 }' \t\t| sort -u \t\t| xargs -r apt-mark manual \t; \tapt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \tapt-get dist-clean; \t\texport PYTHONDONTWRITEBYTECODE=1; \tpython3 --version; \t\tpip3 install \t\t--disable-pip-version-check \t\t--no-cache-dir \t\t--no-compile \t\t'setuptools==79.0.1' \t\t'wheel\u003c0.46' \t; \tpip3 --version # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-16T23:10:17.746231553Z","created_by":"RUN /bin/sh -c set -eux; \tfor src in idle3 pip3 pydoc3 python3 python3-config; do \t\tdst=\"$(echo \"$src\" | tr -d 3)\"; \t\t[ -s \"/usr/local/bin/$src\" ]; \t\t[ ! -e \"/usr/local/bin/$dst\" ]; \t\tln -svT \"$src\" \"/usr/local/bin/$dst\"; \tdone # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-16T23:10:17.746231553Z","created_by":"CMD [\"python3\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-23T15:36:33.994658419+08:00","created_by":"RUN /bin/sh -c apt-get update \u0026\u0026     apt-get install -y --no-install-recommends         gcc g++ libffi-dev curl \u0026\u0026     rm -rf /var/lib/apt/lists/* # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-23T15:36:34.670017592+08:00","created_by":"WORKDIR /app","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-23T15:36:35.14116417+08:00","created_by":"COPY backend/requirements.txt /app/requirements.txt # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-23T16:35:51.533469452+08:00","created_by":"RUN /bin/sh -c pip install --no-compile -r requirements.txt \u0026\u0026     pip install --force-reinstall --no-deps opencv-python-headless # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-26T17:54:18.388149127+08:00","created_by":"COPY backend/ /app/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-26T17:54:19.375054471+08:00","created_by":"RUN /bin/sh -c mkdir -p /data/files # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-26T17:54:26.658338123+08:00","created_by":"RUN /bin/sh -c groupadd -r appuser \u0026\u0026 useradd -r -g appuser -d /app -s /sbin/nologin appuser \u0026\u0026     chown -R appuser:appuser /app /data/files # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-26T17:54:26.658338123+08:00","created_by":"USER appuser","comment":"buildkit.dockerfile.v0","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:188c9b34dfbe022075d01fc4f5a305412909ef97de440783c15043e68e1b1913","sha256:188695d9eb1d097b343bf730e781771c5d8ef7a1cc97ecdd66495b7e6315e7ee","sha256:34b037810a003e6a71e2e03dcb7cbefc0dd4351b492850a62c391dece62b958c","sha256:8347a0657a00a19fd69c220581495a679ef6352f500e92ed4c8059ff9cee7d2d","sha256:8f964eda5dcd9f5c6863c97f386512807a575968ee3f905e9db609f04819f6ad","sha256:7531555d25c75398b2bf54bd210aa6374f086d6b98a5032dd9cd5b14fa5c5189","sha256:4ff0173cae9b40ce35425bdf4781e82212ed04e01d2211998567941adf0ca13d","sha256:1c0d06a4b97a276430320bb5b463c68c26de9c878eacf2583bab18ea7f1ae6c8","sha256:44ae22c7b6009a10c34ddf62afcb0951bd57e229637aba6e6d709442f45913fe","sha256:a9219c588b2dbf2baca7d5ab99e06e5babb9c5d56e6cb5f1d7746a959e1ace33","sha256:62707b25ec0657d83871aed0c62ccd7d8a7e118f7a15286bf3c920e357a84e74"]}}