{"architecture":"amd64","config":{"User":"app","ExposedPorts":{"8000/tcp":{}},"Env":["PATH=/app/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305","PYTHON_VERSION=3.13.13","PYTHON_SHA256=2ab91ff401783ccca64f75d10c882e957bdfd60e2bf5a72f8421793729b78a71","UV_COMPILE_BYTECODE=1","UV_LINK_MODE=copy","PYTHONDONTWRITEBYTECODE=1","PYTHONUNBUFFERED=1","HOME=/app","UV_CACHE_DIR=/tmp/uv-cache"],"Cmd":["fastapi","run","--host","0.0.0.0","src/main.py"],"WorkingDir":"/app","Labels":{"com.docker.compose.project":"honcho","com.docker.compose.service":"deriver","com.docker.compose.version":"5.1.0"},"ArgsEscaped":true},"created":"2026-04-29T02:54:16.302904991+08:00","history":[{"created":"2026-04-21T00:00:00Z","created_by":"# debian.sh --arch 'amd64' out/ 'bookworm' '@1776729600'","comment":"debuerreotype 0.17"},{"created":"2026-04-22T02:00:21.02838512Z","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-04-22T02:00:21.02838512Z","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; \trm -rf /var/lib/apt/lists/* # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-22T02:00:21.02838512Z","created_by":"ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-22T02:00:21.02838512Z","created_by":"ENV PYTHON_VERSION=3.13.13","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-22T02:00:21.02838512Z","created_by":"ENV PYTHON_SHA256=2ab91ff401783ccca64f75d10c882e957bdfd60e2bf5a72f8421793729b78a71","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-22T02:10:21.620263514Z","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\"; \tarch=\"$(dpkg --print-architecture)\"; arch=\"${arch##*-}\"; \tcase \"$arch\" in \t\tamd64|arm64) \t\t\tEXTRA_CFLAGS=\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer\"; \t\t\t;; \t\ti386) \t\t\t;; \t\t*) \t\t\tEXTRA_CFLAGS=\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer\"; \t\t\t;; \tesac; \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; \trm -rf /var/lib/apt/lists/*; \t\texport PYTHONDONTWRITEBYTECODE=1; \tpython3 --version; \tpip3 --version # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-22T02:10:21.716292198Z","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-04-22T02:10:21.716292198Z","created_by":"CMD [\"python3\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-29T02:51:01.411381488+08:00","created_by":"COPY /uv /bin/uv # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:51:01.499165913+08:00","created_by":"WORKDIR /app","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:52:33.780278954+08:00","created_by":"ENV UV_COMPILE_BYTECODE=1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-29T02:52:33.780278954+08:00","created_by":"ENV UV_LINK_MODE=copy","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-29T02:52:33.780278954+08:00","created_by":"ENV PYTHONDONTWRITEBYTECODE=1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-29T02:52:33.780278954+08:00","created_by":"ENV PYTHONUNBUFFERED=1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-29T02:52:33.780278954+08:00","created_by":"RUN /bin/sh -c uv sync --frozen --no-install-project --no-group dev # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:52:34.295382953+08:00","created_by":"COPY uv.lock pyproject.toml /app/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:52:37.068105543+08:00","created_by":"RUN /bin/sh -c uv sync --frozen --no-group dev # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:52:37.068105543+08:00","created_by":"ENV PATH=/app/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-29T02:52:37.068105543+08:00","created_by":"ENV HOME=/app","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-29T02:52:37.068105543+08:00","created_by":"ENV UV_CACHE_DIR=/tmp/uv-cache","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-29T02:54:14.93559625+08:00","created_by":"RUN /bin/sh -c addgroup --system app \u0026\u0026 adduser --system --group app \u0026\u0026 mkdir -p /tmp/uv-cache \u0026\u0026 chown -R app:app /app /tmp/uv-cache # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:54:15.918553513+08:00","created_by":"COPY --chown=app:app src/ /app/src/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:54:16.048979231+08:00","created_by":"COPY --chown=app:app migrations/ /app/migrations/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:54:16.109702524+08:00","created_by":"COPY --chown=app:app scripts/ /app/scripts/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:54:16.178915548+08:00","created_by":"COPY --chown=app:app docker/ /app/docker/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:54:16.248813759+08:00","created_by":"COPY --chown=app:app alembic.ini /app/alembic.ini # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:54:16.302904991+08:00","created_by":"COPY --chown=app:app config.toml* /app/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-29T02:54:16.302904991+08:00","created_by":"USER app","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-29T02:54:16.302904991+08:00","created_by":"EXPOSE [8000/tcp]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-29T02:54:16.302904991+08:00","created_by":"CMD [\"fastapi\" \"run\" \"--host\" \"0.0.0.0\" \"src/main.py\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:0da811fd3ed46c38cea69079fa395a3d715dbdbdd5c8177107c450bf6332bbfa","sha256:e161022e15feb3a83c8d77e7e3ec1d79a00a5f8e72e3918b0784e7226bed1337","sha256:9e252bfbaecd1c8b6e99d89f027437b41bff4a351f60b825a6198ce12bb4a473","sha256:82f7b847f70975214b6b73f100ebdc64c70c10dfdaf8243766c7780682fa6819","sha256:09c64fdb5d5a31c50e9a8f05c10ca2a1b995e07cc973db95b961109a5dba6fee","sha256:7b6a8ac493e2e8c492cdc4c917efcc7c51575b63556caca867f4cf16c8bbc93d","sha256:cfe603e7fbf4c0905e213dd4c048c0786313e08451a12d010bb587c1749295d4","sha256:56a131a4132d1173b3835f42c9a9b79d6ddf7cf6d76b8e63fa4e65e1870d9101","sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef","sha256:09e50e36dfee2c41be62cecf7f68c53b53a2ab641597db6519a5e3cc79e1bb0b","sha256:1cb1ad0d373f7d1e3be0baedcbc96c2b34a9d16df7e33c8f0286eb1bdd7ba897","sha256:ecc2a915916f675a1418675d674e469068583b4fb08a369fe19115a7d2fc3759","sha256:10929e49ab25cb34b9333d5fde26b19d52b52a3ecaac471f0ae26c23d0db754d","sha256:090703e9dfaefc07bf8fb79d593bdd2948deb0d0dca1f39f2ab133061370be14","sha256:3b9c9ca9957a7696960d41c7133ff88398febc7bc3319722ad16a83ebdc77d33","sha256:0aec0dfa94db9807518e5c5b8bc30dc644e0c84e32370b3d3cbd9f886c740ddf"]}}