Namespace
tiangolo
Image / Tag
uwsgi-nginx-flask:latest-2025-08-18
Content Digest
sha256:ee0f1943e6f1e411afd1f9ca66cd04ae3233841b69ccbb4362f2b1dd5d8740fc
Details
Created

2025-08-18 00:16:56 UTC

Size

380 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

c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb

PYTHON_VERSION

3.12.11

STATIC_INDEX

0

STATIC_PATH

/app/static

STATIC_URL

/static

UWSGI_CHEAPER

2

UWSGI_INI

/app/uwsgi.ini

UWSGI_PROCESSES

16


Layers

[#000] sha256:c1995213564325caf7e52ecd95fe4435c70b03eb94c674ac15706733986b86e0 - 12.18% (46.2 MB)

[#001] sha256:7bbf972c6c2f5b7313ae3cb74e63888ab70931bcd9aefd960f9a38c540dbf2ca - 6.03% (22.9 MB)

[#002] sha256:900e2c02f17f686733f4f957ddfb07b3342d1957d87b56254634d4fbb2abb81d - 16.17% (61.4 MB)

[#003] sha256:abe9c1abe6f3b8ca9fc6abe710405f830f95262f1d356e8f6545d823b5840a5c - 53.09% (202 MB)

[#004] sha256:6cba66ca3410cee5d13e3d4425bd2912f2ed7c9b51823dee29dccbf728cd4712 - 1.55% (5.88 MB)

[#005] sha256:88adae8068755df7f849b55854d0236eca18115346d0947c9e87f0a839618d6e - 6.44% (24.5 MB)

[#006] sha256:71d58a2f05b2962ac5f51037d78fc3bc2acff5d661d46d2fd1ecdd72d3d95de5 - 0.0% (249 Bytes)

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

[#008] sha256:58731003bbfc11f1891961e1c92acadb96256018cb44c0822bab069c87bdd098 - 3.15% (12 MB)

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

[#010] sha256:6793680f257978670e858eb30106bfd15041a6db90bf5c1ad337c4fae9aabfd9 - 0.48% (1.84 MB)

[#011] sha256:771b96e89c641af2788d4524edf4d2eb69d08f64da946c32cc4cb11223e783c1 - 0.0% (172 Bytes)

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

[#013] sha256:273d445fa39a92bb5f839c4b1f37820a8a4df5d3b0dbfe5c6f864d263f3d1672 - 0.52% (1.96 MB)

[#014] sha256:865bdd3e9a0c39073068baf5cab2964c4b322bb6e152e53cb793efc86bec9dbb - 0.0% (461 Bytes)

[#015] sha256:39fb49b9cb7019fec04c916fe3275b864141564b573c6058727f33480d3dbd2b - 0.0% (465 Bytes)

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

[#017] sha256:af85c897c5ab7d47e439edbbfcb5439359b5fa5de2bbb2452d8880c4f21fe30e - 0.0% (322 Bytes)

[#018] sha256:8ca5626355bb1ec6a0582fd48a6eca6252c2f0f833854045f2ff588418391a6a - 0.0% (322 Bytes)

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

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

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

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

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

[#024] sha256:cd5f99c872fb85f8f3a181788cfa176512049d6146bfb73d70bdcd9a8b1109dd - 0.39% (1.48 MB)

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

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

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

[#028] sha256:ba8580fa955860014887476278103e7c31238314117deb70027359feb839f713 - 0.0% (637 Bytes)

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


History
2023-05-10 23:29:59 UTC (debuerreotype 0.15)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1751241600'

2023-05-10 23:29:59 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 ; rm -rf /var/lib/apt/lists/* # buildkit

2024-01-09 01:14:25 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 ; rm -rf /var/lib/apt/lists/* # buildkit

2024-01-09 01:14:25 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 ; rm -rf /var/lib/apt/lists/* # buildkit

2025-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

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

2025-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-06-04 00:40: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 ; rm -rf /var/lib/apt/lists/* # buildkit

2025-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2025-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.11

2025-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb

2025-06-04 00:40:01 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-linux-musl' && 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-06-04 00:40:01 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-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-07-07 00:34:48 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:34:48 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1

2025-07-07 00:34:48 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2025-07-07 00:34:48 UTC (buildkit.dockerfile.v0)

COPY install-nginx-debian.sh / # buildkit

2025-07-07 00:34:58 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:34:58 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:35:20 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:35:20 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:35:20 UTC (buildkit.dockerfile.v0)

COPY uwsgi.ini /etc/uwsgi/ # buildkit

2025-07-07 00:35: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-07-07 00:35:23 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:35:23 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

ENV UWSGI_INI=/app/uwsgi.ini

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

ENV UWSGI_CHEAPER=2

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

ENV UWSGI_PROCESSES=16

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

ENV NGINX_MAX_UPLOAD=0

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

ENV NGINX_WORKER_PROCESSES=1

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

ENV LISTEN_PORT=80

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

COPY start.sh /start.sh # buildkit

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2025-07-07 00:35:24 UTC (buildkit.dockerfile.v0)

CMD ["/start.sh"]

2025-08-18 00:16:54 UTC (buildkit.dockerfile.v0)

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

2025-08-18 00:16:54 UTC (buildkit.dockerfile.v0)

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

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

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

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

ENV STATIC_URL=/static

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

ENV STATIC_PATH=/app/static

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

ENV STATIC_INDEX=0

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

ENV PYTHONPATH=/app

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

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

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

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

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2025-08-18 00:16:56 UTC (buildkit.dockerfile.v0)

CMD ["/start.sh"]

Details
Created

2025-08-18 00:17:17 UTC

Size

369 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

c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb

PYTHON_VERSION

3.12.11

STATIC_INDEX

0

STATIC_PATH

/app/static

STATIC_URL

/static

UWSGI_CHEAPER

2

UWSGI_INI

/app/uwsgi.ini

UWSGI_PROCESSES

16


Layers

[#000] sha256:1f8ab7c4e8b4178f5f2504f6c4b199268151b1fc958cd53bb861d8dbd9faa8c3 - 12.49% (46.1 MB)

[#001] sha256:7be9cdb9167a8712f78cfe8da9fdf771134a84b1ee0fdab42bace39b895aaa9d - 6.09% (22.5 MB)

[#002] sha256:88f9cdd730a2c32e544c8de28ddcb3800bc8b143e551c286d3ccb2704444d69f - 16.63% (61.4 MB)

[#003] sha256:35a65abb6272f500a9ae5d14c9ae8ef9cb0e4009b02acfccb4dabc478f252d44 - 52.41% (193 MB)

[#004] sha256:ea3a28e1b30c141fb86963f2df6becd4458e759f8c0c08b340217140236cc1b8 - 1.61% (5.95 MB)

[#005] sha256:803e83307ba57cf3e7528c4c15c5587a35b012e6c58fbdc20bfeb3d6184f390a - 6.44% (23.8 MB)

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

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

[#008] sha256:f276cb37cf77ada8a4e39d2ac43be131200f303e837dc30248d88f6afbf05fd3 - 2.9% (10.7 MB)

[#009] sha256:2a3fd33daaa378f6612291f87402e6bec23f02542fd766886aa02585c1d8a3cf - 0.0% (158 Bytes)

[#010] sha256:89397be2290c4d9eaf08e054a3f62574b47f3b72971804d540e0b81a141cd1d5 - 0.49% (1.83 MB)

[#011] sha256:674b1d0f829e944f72acbeda21a7a47da5ce5c63ac39e2334644470ae80aa8c4 - 0.0% (175 Bytes)

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

[#013] sha256:bf335edb7213b8644cd0a43f684d3ead525de892ad6d23ea81736804eaed69b9 - 0.53% (1.97 MB)

[#014] sha256:509beb4801b7eb0c7aee8e509ff31a650791b5bdb7325dff5edee8107e1896e2 - 0.0% (470 Bytes)

[#015] sha256:6c4ab0959914171be2c5a332d6fe6227c6406e571b7e03a81126ab569b017b95 - 0.0% (467 Bytes)

[#016] sha256:4043901b965ef9266e6662a63178252cac968c2d3c98aa6c2303cfc748de0811 - 0.0% (461 Bytes)

[#017] sha256:af85c897c5ab7d47e439edbbfcb5439359b5fa5de2bbb2452d8880c4f21fe30e - 0.0% (322 Bytes)

[#018] sha256:8ca5626355bb1ec6a0582fd48a6eca6252c2f0f833854045f2ff588418391a6a - 0.0% (322 Bytes)

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

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

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

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

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

[#024] sha256:064be9fa1455fbb3e9d5c519b4a347979e660d716f30bc50f0db6f9897090b0d - 0.4% (1.48 MB)

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

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

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

[#028] sha256:ba8580fa955860014887476278103e7c31238314117deb70027359feb839f713 - 0.0% (637 Bytes)

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


History
2023-05-10 23:29:59 UTC (debuerreotype 0.15)

# debian.sh --arch 'arm64' out/ 'bookworm' '@1751241600'

2023-05-10 23:29:59 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 ; rm -rf /var/lib/apt/lists/* # buildkit

2024-01-09 01:14:25 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 ; rm -rf /var/lib/apt/lists/* # buildkit

2024-01-09 01:14:25 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 ; rm -rf /var/lib/apt/lists/* # buildkit

2025-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

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

2025-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-06-04 00:40: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 ; rm -rf /var/lib/apt/lists/* # buildkit

2025-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2025-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.11

2025-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb

2025-06-04 00:40:01 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-linux-musl' && 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-06-04 00:40:01 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-06-04 00:40:01 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-07-07 00:34:48 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:34:48 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1

2025-07-07 00:34:48 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2025-07-07 00:34:48 UTC (buildkit.dockerfile.v0)

COPY install-nginx-debian.sh / # buildkit

2025-07-07 00:36:10 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:36:10 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:41:33 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:41:33 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:41:33 UTC (buildkit.dockerfile.v0)

COPY uwsgi.ini /etc/uwsgi/ # buildkit

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

ENV UWSGI_INI=/app/uwsgi.ini

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

ENV UWSGI_CHEAPER=2

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

ENV UWSGI_PROCESSES=16

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

ENV NGINX_MAX_UPLOAD=0

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

ENV NGINX_WORKER_PROCESSES=1

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

ENV LISTEN_PORT=80

2025-07-07 00:42:03 UTC (buildkit.dockerfile.v0)

COPY start.sh /start.sh # buildkit

2025-07-07 00:42:04 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:42:04 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2025-07-07 00:42:04 UTC (buildkit.dockerfile.v0)

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

2025-07-07 00:42:04 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2025-07-07 00:42:04 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2025-07-07 00:42:04 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2025-07-07 00:42:04 UTC (buildkit.dockerfile.v0)

CMD ["/start.sh"]

2025-08-18 00:16:54 UTC (buildkit.dockerfile.v0)

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

2025-08-18 00:16:54 UTC (buildkit.dockerfile.v0)

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

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

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

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

ENV STATIC_URL=/static

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

ENV STATIC_PATH=/app/static

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

ENV STATIC_INDEX=0

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

COPY ./app /app # buildkit

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

ENV PYTHONPATH=/app

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

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

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

COPY entrypoint.sh /entrypoint.sh # buildkit

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

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

2025-08-18 00:17:17 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2025-08-18 00:17:17 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