Namespace
tiangolo
Image / Tag
uwsgi-nginx-flask:latest-2026-05-18
Content Digest
sha256:a1096b2dbc563809eaba397f122e04c56a3c94bd8ccaf56c4726aa6aa64b531f
Details
Created

2026-05-18 00:38:20 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

c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

PYTHON_VERSION

3.12.13

STATIC_INDEX

0

STATIC_PATH

/app/static

STATIC_URL

/static

UWSGI_CHEAPER

2

UWSGI_INI

/app/uwsgi.ini

UWSGI_PROCESSES

16


Layers

[#000] sha256:307f8152a55ef1e9eeb1acbbee7bc81232615329eaeb00d8dd93b46be297f34c - 11.39% (47 MB)

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

[#002] sha256:82a92b93bf7181c9d6b4525236a1a2fec85dc591d4deee481e828e707853f42c - 15.66% (64.6 MB)

[#003] sha256:5470790761244112ed0b9ea9218282e5185dc7fd1e91840e855a32550e2ecd73 - 54.56% (225 MB)

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

[#005] sha256:a5553bcb72a7448176785322c858a1dfd397640e39a30ab37d54c01bbdf196f5 - 5.94% (24.5 MB)

[#006] sha256:f39e7c7246a9a0591b753a6ff6077847a4513acfd46420e936b12718c15bb0de - 0.0% (250 Bytes)

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

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

[#009] sha256:6e0eb4c75b199dca70e62f1306c18b4cb0b3ade035f70046e1a7f4561eee4b86 - 0.0% (158 Bytes)

[#010] sha256:9fecebebd8162085c369d99cfff9156c7c77e543dc316fa445226c94afd1be0a - 0.4% (1.67 MB)

[#011] sha256:d81552da2bb3dc470ac23d2a8b6dc57ce2f4081cfdecad51ec0644cf4a98685c - 0.0% (173 Bytes)

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

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

[#014] sha256:6f19e9a5895de73cffda03479b4b95a4daf651a07fda3c6b00a2a559cd0ba6ee - 0.0% (469 Bytes)

[#015] sha256:2e5361f961a86d8d1f87090ded9d846c4e59e8394724db535bfad9894a3be913 - 0.0% (467 Bytes)

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

[#017] sha256:5e5d8cc9e3143e0b994a6de92a72e5d5e593a43e0c60877470290f2feaa197bb - 0.0% (323 Bytes)

[#018] sha256:44fd9d8642c22e3493495d1ab48eefdfeeca1e5bba2659c9ccdcab98fc4c5e2b - 0.0% (322 Bytes)

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

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

[#021] sha256:bb4f7fa1ff032d099e19a654d1f4bccfbb42d9bddfbf34e9b7d3c49574c649c6 - 0.0% (563 Bytes)

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

[#023] sha256:f77bf5835bfa5c9b911da9b068f53e9c6760e4c1ada04e1fbfc25a960eb7582a - 0.0% (159 Bytes)

[#024] sha256:e8842868edc389fdbdb95d1d1c9460819c04934a49a08a2a525a38e80733c4b7 - 0.37% (1.51 MB)

[#025] sha256:d4cf69505827306d235d28d416abc54320a15b4d04b88cab9238c3a47510a1b8 - 0.0% (580 Bytes)

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

[#027] sha256:dcfbfe10f9ce3b83eab6b8a9386e6dd088158ed4fa11fc89b6d60aac59615d36 - 0.0% (1.03 KB)

[#028] sha256:3c96aa8f684ed7982dd27f3562d6266563b5cf8e01150779b01f88ac60ccf02c - 0.0% (639 Bytes)

[#029] sha256:feabfd5bb1b11e82421d362deffcb45ee59336f14bb8c8cedf4dbb9d5812fa9e - 0.0% (639 Bytes)


History
2026-05-05 00:00:00 UTC (debuerreotype 0.17)

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

2026-05-08 19:40:47 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

2026-05-08 20:26:45 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

2026-05-08 21:18:02 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

2026-05-08 22:35:01 UTC (buildkit.dockerfile.v0)

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

2026-05-08 22:35:01 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-05-08 22:35:01 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

2026-05-08 22:35:01 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-05-08 22:35:01 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.13

2026-05-08 22:35:01 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

2026-05-08 22:43: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

2026-05-08 22:43: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

2026-05-08 22:43:47 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-05-11 01:02:56 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:02:56 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1

2026-05-11 01:02:56 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2026-05-11 01:02:56 UTC (buildkit.dockerfile.v0)

COPY install-nginx-debian.sh / # buildkit

2026-05-11 01:03:06 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:03:06 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:03:26 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:03:26 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:03:26 UTC (buildkit.dockerfile.v0)

COPY uwsgi.ini /etc/uwsgi/ # buildkit

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

ENV UWSGI_INI=/app/uwsgi.ini

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

ENV UWSGI_CHEAPER=2

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

ENV UWSGI_PROCESSES=16

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

ENV NGINX_MAX_UPLOAD=0

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

ENV NGINX_WORKER_PROCESSES=1

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

ENV LISTEN_PORT=80

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

COPY start.sh /start.sh # buildkit

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-05-11 01:03:31 UTC (buildkit.dockerfile.v0)

CMD ["/start.sh"]

2026-05-18 00:38:17 UTC (buildkit.dockerfile.v0)

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

2026-05-18 00:38:17 UTC (buildkit.dockerfile.v0)

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

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

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

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

ENV STATIC_URL=/static

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

ENV STATIC_PATH=/app/static

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

ENV STATIC_INDEX=0

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

ENV PYTHONPATH=/app

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

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

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

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

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2026-05-18 00:38:20 UTC (buildkit.dockerfile.v0)

CMD ["/start.sh"]

Details
Created

2026-05-18 00:38:48 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

c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

PYTHON_VERSION

3.12.13

STATIC_INDEX

0

STATIC_PATH

/app/static

STATIC_URL

/static

UWSGI_CHEAPER

2

UWSGI_INI

/app/uwsgi.ini

UWSGI_PROCESSES

16


Layers

[#000] sha256:b5d74b688654dda99557234223479d1600781c2797759908abb12a2e782ab1ad - 11.81% (47.4 MB)

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

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

[#003] sha256:8335e8e024cb0fa8e07cb848bdae282ce9861dd9255063fc58f55ccdf85a6f08 - 53.78% (216 MB)

[#004] sha256:c4905e1dc16b2603e464e3b76db8778bcc8d0f0bd0245662d819ee858af8522c - 1.47% (5.9 MB)

[#005] sha256:e16cdd17129b300b5586a8a43b90aeab26cdf9985fd2ad1cb6a1f44ec330214a - 5.94% (23.8 MB)

[#006] sha256:61aba67de4c3262a7ee2164f5f8ada73ceaa03669eb182c364cb0fd0b736b77f - 0.0% (250 Bytes)

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

[#008] sha256:02c87a590da40c4dacc15c6859391c8c80f5275071258de705aaf7c1b7ad188c - 3.66% (14.7 MB)

[#009] sha256:11f9bdd5fb3f95982a55b5aa815bbe188b1bc94915e6bf41bef32aa175085667 - 0.0% (158 Bytes)

[#010] sha256:99626a60847671e95aa12fca634cf09fc97f48e73ec972cb1d14e91b1ddb7b87 - 0.41% (1.65 MB)

[#011] sha256:eaac0869ee829f897154fb3a83b8bde7884d1491a116bf780d05d3b7a9ec365f - 0.0% (173 Bytes)

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

[#013] sha256:90ce9f23fe4b48693184acf393603b080e95fcbf8c88ec7ba9587f082b3e57c1 - 0.55% (2.19 MB)

[#014] sha256:7c6a54fccccbdfd465d6dc115661f57e9a0d98774004acd608c8214d9dabafdf - 0.0% (470 Bytes)

[#015] sha256:b730a81bdf5c771685af57226377de10a0e85a407c00d70de6094cb6ad8acea7 - 0.0% (470 Bytes)

[#016] sha256:db8f6a21555c6d30276d2082c49e79ccba02e4706e26aefc436b8051df0c8ea5 - 0.0% (463 Bytes)

[#017] sha256:5e5d8cc9e3143e0b994a6de92a72e5d5e593a43e0c60877470290f2feaa197bb - 0.0% (323 Bytes)

[#018] sha256:44fd9d8642c22e3493495d1ab48eefdfeeca1e5bba2659c9ccdcab98fc4c5e2b - 0.0% (322 Bytes)

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

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

[#021] sha256:bb4f7fa1ff032d099e19a654d1f4bccfbb42d9bddfbf34e9b7d3c49574c649c6 - 0.0% (563 Bytes)

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

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

[#024] sha256:db45faeba60c237ca82c88a5484fa1c66360dd0331853d0ab9068d683c6d0b71 - 0.38% (1.51 MB)

[#025] sha256:d4cf69505827306d235d28d416abc54320a15b4d04b88cab9238c3a47510a1b8 - 0.0% (580 Bytes)

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

[#027] sha256:dcfbfe10f9ce3b83eab6b8a9386e6dd088158ed4fa11fc89b6d60aac59615d36 - 0.0% (1.03 KB)

[#028] sha256:3c96aa8f684ed7982dd27f3562d6266563b5cf8e01150779b01f88ac60ccf02c - 0.0% (639 Bytes)

[#029] sha256:feabfd5bb1b11e82421d362deffcb45ee59336f14bb8c8cedf4dbb9d5812fa9e - 0.0% (639 Bytes)


History
2026-05-05 00:00:00 UTC (debuerreotype 0.17)

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

2026-05-08 19:42:36 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

2026-05-08 20:32:24 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

2026-05-08 21:18:38 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

2026-05-08 22:33:31 UTC (buildkit.dockerfile.v0)

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

2026-05-08 22:33:31 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-05-08 22:33:31 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

2026-05-08 22:33:31 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-05-08 22:33:31 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.13

2026-05-08 22:33:31 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

2026-05-08 22:44:51 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

2026-05-08 22:44:51 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

2026-05-08 22:44:51 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-05-11 01:02:56 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:02:56 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1

2026-05-11 01:02:56 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2026-05-11 01:02:56 UTC (buildkit.dockerfile.v0)

COPY install-nginx-debian.sh / # buildkit

2026-05-11 01:04:46 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:04:46 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:09:52 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:09:52 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:09:52 UTC (buildkit.dockerfile.v0)

COPY uwsgi.ini /etc/uwsgi/ # buildkit

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

ENV UWSGI_INI=/app/uwsgi.ini

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

ENV UWSGI_CHEAPER=2

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

ENV UWSGI_PROCESSES=16

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

ENV NGINX_MAX_UPLOAD=0

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

ENV NGINX_WORKER_PROCESSES=1

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

ENV LISTEN_PORT=80

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

COPY start.sh /start.sh # buildkit

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:10:52 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2026-05-11 01:10:53 UTC (buildkit.dockerfile.v0)

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

2026-05-11 01:10:53 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2026-05-11 01:10:53 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2026-05-11 01:10:53 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-05-11 01:10:53 UTC (buildkit.dockerfile.v0)

CMD ["/start.sh"]

2026-05-18 00:38:17 UTC (buildkit.dockerfile.v0)

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

2026-05-18 00:38:17 UTC (buildkit.dockerfile.v0)

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

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

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

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

ENV STATIC_URL=/static

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

ENV STATIC_PATH=/app/static

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

ENV STATIC_INDEX=0

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

ENV PYTHONPATH=/app

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

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

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

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

2026-05-18 00:38:48 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2026-05-18 00:38:48 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