Namespace
tiangolo
Image / Tag
uwsgi-nginx-flask:latest-2025-12-29
Content Digest
sha256:c867421b8700297db9f4914321c41ce8f287298b2d545f21ee5b14df4d10fc30
Details
Created

2025-12-29 00:18:00 UTC

Size

413 MB

Content Digest
Labels
  • maintainer
    Sebastian Ramirez <tiangolo@gmail.com>

Environment
GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

LANG

C.UTF-8

LISTEN_PORT

80

NGINX_MAX_UPLOAD

0

NGINX_WORKER_PROCESSES

1

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PYTHONDONTWRITEBYTECODE

1

PYTHONPATH

/app

PYTHONUNBUFFERED

1

PYTHON_SHA256

fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4

PYTHON_VERSION

3.12.12

STATIC_INDEX

0

STATIC_PATH

/app/static

STATIC_URL

/static

UWSGI_CHEAPER

2

UWSGI_INI

/app/uwsgi.ini

UWSGI_PROCESSES

16


Layers

[#000] sha256:2981f7e8980b9f4b6605026e1c5f99b4971ebba15f626e46904554de09f324f4 - 11.39% (47 MB)

[#001] sha256:b22766554d6bfa95c7325b00ee002f2705a7b8605908c3eb43dbe729c412422c - 5.92% (24.4 MB)

[#002] sha256:58f2d358b447d091790c5ef0943550bbcf57bac46c4b8bfcfc3e6dacf4cb7969 - 15.66% (64.6 MB)

[#003] sha256:dd420cee8193b72cf70974a80e88896c8e58d925edd1cdc515b203ff7aa65550 - 54.53% (225 MB)

[#004] sha256:f12d22470361a03c148da637a8a38f6fd96fe7fe30d2431f50f3149c07b9ede5 - 1.41% (5.8 MB)

[#005] sha256:0c031ac0d6d9461b3bc8dac00f9098891b9b554c1db0a72838a3e527d8364f58 - 5.93% (24.5 MB)

[#006] sha256:7ab1ca1356370d5b1f123df96afa436de4e3a8205f5dd48daea4cf4c46daded2 - 0.0% (249 Bytes)

[#007] sha256:c35124a5e46d73cf94a0a1b5ce29bffefc0f25bde0c409ed52170fb7338468b5 - 0.0% (1.99 KB)

[#008] sha256:a6f0aecefdc6f9e4db55cbe1229d6ff8ebb148d51562d77b59ad47e3a1373008 - 3.81% (15.7 MB)

[#009] sha256:cd8ce051bfcac494a7cb5d1dde75af7122eb9c9c68efe8459eb7f720de92763b - 0.0% (156 Bytes)

[#010] sha256:47dfd9af751f94370c53a36a829f20e7ef710535871a8f441a7be376a4a9e131 - 0.45% (1.84 MB)

[#011] sha256:38b1f7b2c8ac2ed467dd30eaba19feddf4a581983139e750bee00cb36d78280a - 0.0% (175 Bytes)

[#012] sha256:be21dd334beb14120cc2b1d8e494bb3a282a28fe6e641d5df522c6805a16608f - 0.0% (378 Bytes)

[#013] sha256:bda4b4a1db224722c6c1222bb6761d75bc102c52762fe9b2941a71f46f0c4de1 - 0.53% (2.19 MB)

[#014] sha256:98a969dad7ef10a82793d190994cda98260c4e5ef153acbc78545ec2084ccd3e - 0.0% (465 Bytes)

[#015] sha256:7b868fc543c63ca5b99b37cf6cc5378f3d9a15d758e54767dafede284c828409 - 0.0% (466 Bytes)

[#016] sha256:bde132184155351c97a4d94ea6c7696e54048e721b5a2fb3992c378797b3b889 - 0.0% (460 Bytes)

[#017] sha256:b048fc33cca0b7472ecb6e7f12a7abdca8d05443557674daa1ee7b1aa3bd124f - 0.0% (321 Bytes)

[#018] sha256:cb8077d2c7352424f35fcc587d224b35b111eeb597fcf30af8efd29951a8fa2b - 0.0% (319 Bytes)

[#019] sha256:579553494c189b6f2d62bef34dc776171e5cd84d995527b1be9567b71e87293a - 0.0% (1 KB)

[#020] sha256:05f149e42ce269561e66bd8549fbfe4a3b105b0aaa974e2cd957159ecc90d7ad - 0.0% (1 KB)

[#021] sha256:1d6a04067b0c5e25e4435e281ca0dc905431f5910f85a14d71deba8703d258a1 - 0.0% (558 Bytes)

[#022] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#023] sha256:c971f259dec626df0c22b42895c0770e44e05d77e31dd7b7b31cd90853a8707f - 0.0% (158 Bytes)

[#024] sha256:b9ee967aeccbeada2b4b36923e01eec586a0257c41fc4019c8baeaf6b14fa0cd - 0.36% (1.49 MB)

[#025] sha256:b47e74fb4c9a081da185e639977c67ba04670985a542297ac6de84900e7bcf83 - 0.0% (578 Bytes)

[#026] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#027] sha256:551d431fadf17762b29414dd9a84ed71f1a9a448a7cea0a337822f20b70f45fa - 0.0% (1.02 KB)

[#028] sha256:60dca8a9d53bc4be6838f11635e85e7b248cc52f1e7e9525df68ae31b3adb82b - 0.0% (639 Bytes)

[#029] sha256:a0c0277ea12f8e0425b075b0ae40fec9dab1b4640d9856547b7ab08f7a12f071 - 0.0% (641 Bytes)


History
2025-12-08 00:00:00 UTC (debuerreotype 0.16)

# debian.sh --arch 'amd64' out/ 'trixie' '@1765152000'

2025-12-08 23:07:25 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; apt-get dist-clean # buildkit

2025-12-09 00:06:13 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; apt-get dist-clean # buildkit

2025-12-09 00:46:35 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; apt-get dist-clean # buildkit

2025-12-09 01:58:56 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-12-09 01:58:56 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-12-09 01:58:56 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends libbluetooth-dev tk-dev uuid-dev ; apt-get dist-clean # buildkit

2025-12-09 01:58:56 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2025-12-09 01:58:56 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.12

2025-12-09 01:58:56 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4

2025-12-09 02:06:47 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; 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)"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; 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; bin="$(readlink -ve /usr/local/bin/python3)"; dir="$(dirname "$bin")"; mkdir -p "/usr/share/gdb/auto-load/$dir"; cp -vL Tools/gdb/libpython.py "/usr/share/gdb/auto-load/$bin-gdb.py"; 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; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2025-12-09 02:06:47 UTC (buildkit.dockerfile.v0)

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

2025-12-09 02:06:47 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-12-22 00:35:47 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Sebastian Ramirez <tiangolo@gmail.com>

2025-12-22 00:35:47 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1

2025-12-22 00:35:47 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2025-12-22 00:35:47 UTC (buildkit.dockerfile.v0)

COPY install-nginx-debian.sh / # buildkit

2025-12-22 00:35:57 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c bash /install-nginx-debian.sh # buildkit

2025-12-22 00:35:57 UTC (buildkit.dockerfile.v0)

COPY requirements.txt /tmp/requirements.txt # buildkit

2025-12-22 00:36:18 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install --no-cache-dir -r /tmp/requirements.txt # buildkit

2025-12-22 00:36:18 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c rm /etc/nginx/conf.d/default.conf # buildkit

2025-12-22 00:36:19 UTC (buildkit.dockerfile.v0)

COPY uwsgi.ini /etc/uwsgi/ # buildkit

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y supervisor && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

COPY supervisord-debian.conf /etc/supervisor/conf.d/supervisord.conf # buildkit

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

COPY stop-supervisor.sh /etc/supervisor/stop-supervisor.sh # buildkit

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /etc/supervisor/stop-supervisor.sh # buildkit

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

ENV UWSGI_INI=/app/uwsgi.ini

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

ENV UWSGI_CHEAPER=2

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

ENV UWSGI_PROCESSES=16

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

ENV NGINX_MAX_UPLOAD=0

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

ENV NGINX_WORKER_PROCESSES=1

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

ENV LISTEN_PORT=80

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

COPY start.sh /start.sh # buildkit

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /start.sh # buildkit

2025-12-22 00:36:23 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2025-12-22 00:36:24 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /entrypoint.sh # buildkit

2025-12-22 00:36:24 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2025-12-22 00:36:24 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2025-12-22 00:36:24 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2025-12-22 00:36:24 UTC (buildkit.dockerfile.v0)

CMD ["/start.sh"]

2025-12-29 00:17:58 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Sebastian Ramirez <tiangolo@gmail.com>

2025-12-29 00:17:58 UTC (buildkit.dockerfile.v0)

COPY requirements.txt /tmp/requirements.txt # buildkit

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install --no-cache-dir -r /tmp/requirements.txt # buildkit

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

ENV STATIC_URL=/static

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

ENV STATIC_PATH=/app/static

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

ENV STATIC_INDEX=0

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

ENV PYTHONPATH=/app

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mv /entrypoint.sh /uwsgi-nginx-entrypoint.sh # buildkit

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /entrypoint.sh # buildkit

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2025-12-29 00:18:00 UTC (buildkit.dockerfile.v0)

CMD ["/start.sh"]

Details
Created

2025-12-29 00:18:30 UTC

Size

401 MB

Content Digest
Labels
  • maintainer
    Sebastian Ramirez <tiangolo@gmail.com>

Environment
GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

LANG

C.UTF-8

LISTEN_PORT

80

NGINX_MAX_UPLOAD

0

NGINX_WORKER_PROCESSES

1

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PYTHONDONTWRITEBYTECODE

1

PYTHONPATH

/app

PYTHONUNBUFFERED

1

PYTHON_SHA256

fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4

PYTHON_VERSION

3.12.12

STATIC_INDEX

0

STATIC_PATH

/app/static

STATIC_URL

/static

UWSGI_CHEAPER

2

UWSGI_INI

/app/uwsgi.ini

UWSGI_PROCESSES

16


Layers

[#000] sha256:6a828f739420ec96bad6123094a07f3f234998f6cf772e34e0ba733aa8e2b347 - 11.8% (47.4 MB)

[#001] sha256:f097d536d3c26abbb49039062f8d8e471b0c97bdfcc2ecfcfcf56545161524fb - 5.95% (23.9 MB)

[#002] sha256:acb13e64d383cee6a152ac57ad29b9b1116554b1c9daab0e94464d674f3804db - 16.07% (64.5 MB)

[#003] sha256:8d2b4af09d0743acafc293109ad1b191f5a03a36cd1dddf8454458ced3631f5d - 53.75% (216 MB)

[#004] sha256:4c66e88a93b3cee2267b88c6956b7ef2157d932dc05d690584a6a654c2c1a80d - 1.47% (5.91 MB)

[#005] sha256:306055714c30a9fdff1a70f6cdf3a72781f581fe76569b77ab58227945fe3558 - 5.92% (23.8 MB)

[#006] sha256:929008d52c6eb0c4c155a0cd6534522d51780c8149f01838294c4358d4dfd5f4 - 0.0% (248 Bytes)

[#007] sha256:c35124a5e46d73cf94a0a1b5ce29bffefc0f25bde0c409ed52170fb7338468b5 - 0.0% (1.99 KB)

[#008] sha256:99ba3b02dab9d5ba2ba896cbcf03148694c4521120758cfd2bae70f31f8c73a5 - 3.66% (14.7 MB)

[#009] sha256:e329611c9348eee5e154caa6b37094b955a43e58315d85504510be6031a73d7c - 0.0% (157 Bytes)

[#010] sha256:125725664a4cdaa3676bde2b2d8062013c2ef216649fa9244eb6d63d616d9700 - 0.46% (1.83 MB)

[#011] sha256:25369273a0181fcea5221878789fd38537897cb5a78be9a14e2d76c01ba32fad - 0.0% (174 Bytes)

[#012] sha256:fcb0a12967fc4cbdc95e7381a29ad1f8ed17ed178d92f574cb23bba9cb42f166 - 0.0% (379 Bytes)

[#013] sha256:3a390ce5a649cf6be3c6695c1f6de9c6922c54145d78d68e8f2f53711e13fc53 - 0.55% (2.19 MB)

[#014] sha256:24c3b529cd784a74874f788e6618325b73c13bb03c750a4d8c11efed57d2ca9f - 0.0% (470 Bytes)

[#015] sha256:d8ac5776862fa352dace5928cbc9e610d6ebcecb4497ccc861dae5dbea206dba - 0.0% (469 Bytes)

[#016] sha256:944865e4bacf35ddeb604ce36da157255c1342171d1b2e9e276b640a27e410f2 - 0.0% (462 Bytes)

[#017] sha256:b048fc33cca0b7472ecb6e7f12a7abdca8d05443557674daa1ee7b1aa3bd124f - 0.0% (321 Bytes)

[#018] sha256:cb8077d2c7352424f35fcc587d224b35b111eeb597fcf30af8efd29951a8fa2b - 0.0% (319 Bytes)

[#019] sha256:579553494c189b6f2d62bef34dc776171e5cd84d995527b1be9567b71e87293a - 0.0% (1 KB)

[#020] sha256:05f149e42ce269561e66bd8549fbfe4a3b105b0aaa974e2cd957159ecc90d7ad - 0.0% (1 KB)

[#021] sha256:1d6a04067b0c5e25e4435e281ca0dc905431f5910f85a14d71deba8703d258a1 - 0.0% (558 Bytes)

[#022] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#023] sha256:d3f40f09c089048d063f189b9e08cb0cf96721463bdb9dc818b228ea9b82ebc1 - 0.0% (158 Bytes)

[#024] sha256:5b9085847c105deb1d524677aaff4d2595b4e6bec52fc24f308f63278fd5dacf - 0.37% (1.49 MB)

[#025] sha256:b47e74fb4c9a081da185e639977c67ba04670985a542297ac6de84900e7bcf83 - 0.0% (578 Bytes)

[#026] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#027] sha256:551d431fadf17762b29414dd9a84ed71f1a9a448a7cea0a337822f20b70f45fa - 0.0% (1.02 KB)

[#028] sha256:60dca8a9d53bc4be6838f11635e85e7b248cc52f1e7e9525df68ae31b3adb82b - 0.0% (639 Bytes)

[#029] sha256:a0c0277ea12f8e0425b075b0ae40fec9dab1b4640d9856547b7ab08f7a12f071 - 0.0% (641 Bytes)


History
2025-12-08 00:00:00 UTC (debuerreotype 0.16)

# debian.sh --arch 'arm64' out/ 'trixie' '@1765152000'

2025-12-08 23:10:58 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; apt-get dist-clean # buildkit

2025-12-09 00:11:50 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; apt-get dist-clean # buildkit

2025-12-09 01:16:35 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; apt-get dist-clean # buildkit

2025-12-09 02:49:21 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-12-09 02:49:21 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-12-09 02:49:21 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends libbluetooth-dev tk-dev uuid-dev ; apt-get dist-clean # buildkit

2025-12-09 02:49:21 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2025-12-09 02:49:21 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.12

2025-12-09 02:49:21 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4

2025-12-09 03:00:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; 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)"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; 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; bin="$(readlink -ve /usr/local/bin/python3)"; dir="$(dirname "$bin")"; mkdir -p "/usr/share/gdb/auto-load/$dir"; cp -vL Tools/gdb/libpython.py "/usr/share/gdb/auto-load/$bin-gdb.py"; 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; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2025-12-09 03:00:31 UTC (buildkit.dockerfile.v0)

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

2025-12-09 03:00:31 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-12-22 00:35:47 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Sebastian Ramirez <tiangolo@gmail.com>

2025-12-22 00:35:47 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1

2025-12-22 00:35:47 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2025-12-22 00:35:47 UTC (buildkit.dockerfile.v0)

COPY install-nginx-debian.sh / # buildkit

2025-12-22 00:37:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c bash /install-nginx-debian.sh # buildkit

2025-12-22 00:37:41 UTC (buildkit.dockerfile.v0)

COPY requirements.txt /tmp/requirements.txt # buildkit

2025-12-22 00:43:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install --no-cache-dir -r /tmp/requirements.txt # buildkit

2025-12-22 00:43:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c rm /etc/nginx/conf.d/default.conf # buildkit

2025-12-22 00:43:40 UTC (buildkit.dockerfile.v0)

COPY uwsgi.ini /etc/uwsgi/ # buildkit

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y supervisor && rm -rf /var/lib/apt/lists/* # buildkit

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

COPY supervisord-debian.conf /etc/supervisor/conf.d/supervisord.conf # buildkit

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

COPY stop-supervisor.sh /etc/supervisor/stop-supervisor.sh # buildkit

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /etc/supervisor/stop-supervisor.sh # buildkit

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

ENV UWSGI_INI=/app/uwsgi.ini

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

ENV UWSGI_CHEAPER=2

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

ENV UWSGI_PROCESSES=16

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

ENV NGINX_MAX_UPLOAD=0

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

ENV NGINX_WORKER_PROCESSES=1

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

ENV LISTEN_PORT=80

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

COPY start.sh /start.sh # buildkit

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /start.sh # buildkit

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /entrypoint.sh # buildkit

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2025-12-22 00:44:41 UTC (buildkit.dockerfile.v0)

CMD ["/start.sh"]

2025-12-29 00:17:58 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Sebastian Ramirez <tiangolo@gmail.com>

2025-12-29 00:17:58 UTC (buildkit.dockerfile.v0)

COPY requirements.txt /tmp/requirements.txt # buildkit

2025-12-29 00:18:29 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install --no-cache-dir -r /tmp/requirements.txt # buildkit

2025-12-29 00:18:29 UTC (buildkit.dockerfile.v0)

ENV STATIC_URL=/static

2025-12-29 00:18:29 UTC (buildkit.dockerfile.v0)

ENV STATIC_PATH=/app/static

2025-12-29 00:18:29 UTC (buildkit.dockerfile.v0)

ENV STATIC_INDEX=0

2025-12-29 00:18:29 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2025-12-29 00:18:29 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2025-12-29 00:18:29 UTC (buildkit.dockerfile.v0)

ENV PYTHONPATH=/app

2025-12-29 00:18:30 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mv /entrypoint.sh /uwsgi-nginx-entrypoint.sh # buildkit

2025-12-29 00:18:30 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2025-12-29 00:18:30 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /entrypoint.sh # buildkit

2025-12-29 00:18:30 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2025-12-29 00:18:30 UTC (buildkit.dockerfile.v0)

CMD ["/start.sh"]

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete