2026-05-06 11:41:09 UTC
168 MB
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHONPATH/pgadmin4
PYTHON_SHA256d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8
PYTHON_VERSION3.14.4
[#000] sha256:6a0ac1617861a677b045b7ff88545213ec31c0ff08763195a70a4a5adda577bb - 2.2% (3.69 MB)
[#001] sha256:5404ec0dd73e7f052f8c5ba25a6b5a74648c6cf447615b30026da2e7feed046c - 0.26% (445 KB)
[#002] sha256:bb975258b557670c54a75dcef1382e512b3e25d7fe4107242ddf1b93a0b0df51 - 7.61% (12.8 MB)
[#003] sha256:5067ea42d32c497ea1600b9297c31c1ea49aee050da96837b8510a2dba63cb69 - 0.0% (248 Bytes)
[#004] sha256:773bf0847cd8b9b13f1b0da8e196f9abb0854b3d6d2e688d73408a2a9626ca24 - 5.11% (8.57 MB)
[#005] sha256:65d8fd2ac7c48c7075db47e5b0e1a8486c3b39017db82c329324b21898c0eeb2 - 55.68% (93.4 MB)
[#006] sha256:58b3c1496a4724a1619aa9251e23e0663ea81fc6753b2b2902d4a9c8614bab31 - 2.41% (4.05 MB)
[#007] sha256:778f8c868883bba35c75b821f449b2e7e2792591282004458da1b5ac2ad6ba7d - 0.15% (262 KB)
[#008] sha256:2f93814f25b9f1a8ad0530c022a708ef56457848e9a0aaf084881a5e274d1fab - 0.0% (191 Bytes)
[#009] sha256:37bd8346050f6d7daaf72fa3cb631a721c9ca3f56cbd8ee461b28eca4d68304b - 0.0% (98 Bytes)
[#010] sha256:c1af64b90421071f2b3730f983a2c7008eda2e929b4283b71268b01606de3d05 - 5.83% (9.78 MB)
[#011] sha256:19ea2a2da390f5eb40682702b5e236247ba91d1b2c1309f49d10b1f193822bbd - 20.64% (34.6 MB)
[#012] sha256:c34f857d5e594718e64aba237a66b558f6ece99f3019fdce30efeed7d3bffe7a - 0.0% (649 Bytes)
[#013] sha256:cd2dcc730544444414a80764ed844c32bc58766c4cd2ee587e16640d49ab155e - 0.0% (3.84 KB)
[#014] sha256:8f3e78e46516c2ae825884b4a5589e10bda3189d6c06569b917388af4f3f4e28 - 0.0% (781 Bytes)
[#015] sha256:09827682c40655d203e11267a34e5e9301266be3be2e82fa2a1d380336aa33a4 - 0.1% (179 KB)
ADD alpine-minirootfs-3.23.4-x86_64.tar.gz / # buildkit
2026-04-15 20:01:40 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2026-04-15 20:46:59 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-04-15 20:46:59 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2026-04-15 20:46:59 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.14.4
2026-04-15 20:46:59 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8
2026-04-15 20:49:28 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev zstd-dev ; 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 -; 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-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; arch="$(apk --print-arch)"; case "$arch" in x86_64|aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; x86) ;; *) 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; 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 '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2026-04-15 20:49:28 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-04-15 20:49:28 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2026-05-06 11:30:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apk update && apk upgrade && apk add bash postfix krb5-libs libjpeg-turbo shadow sudo tzdata libedit libldap libcap su-exec && rm -rf /var/cache/apk/* # buildkit
2026-05-06 11:37:46 UTC (buildkit.dockerfile.v0)COPY /venv /venv # buildkit
2026-05-06 11:37:46 UTC (buildkit.dockerfile.v0)COPY /usr/local/pgsql /usr/local/ # buildkit
2026-05-06 11:37:46 UTC (buildkit.dockerfile.v0)COPY /usr/local/lib/libpq.so.5.18 /usr/lib/liblz4.so.1.10.0 /usr/lib/ # buildkit
2026-05-06 11:37:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c ln -s libpq.so.5.18 /usr/lib/libpq.so.5 && ln -s libpq.so.5.18 /usr/lib/libpq.so && ln -s liblz4.so.1.10.0 /usr/lib/liblz4.so.1 # buildkit
2026-05-06 11:37:47 UTC (buildkit.dockerfile.v0)WORKDIR /pgadmin4
2026-05-06 11:40:56 UTC (buildkit.dockerfile.v0)ENV PYTHONPATH=/pgadmin4
2026-05-06 11:40:56 UTC (buildkit.dockerfile.v0)COPY /pgadmin4/web /pgadmin4 # buildkit
2026-05-06 11:40:58 UTC (buildkit.dockerfile.v0)COPY /pgadmin4/docs/en_US/_build/html/ /pgadmin4/docs # buildkit
2026-05-06 11:40:58 UTC (buildkit.dockerfile.v0)COPY pkg/docker/run_pgadmin.py pkg/docker/gunicorn_config.py /pgadmin4/ # buildkit
2026-05-06 11:40:58 UTC (buildkit.dockerfile.v0)COPY pkg/docker/entrypoint.sh /entrypoint.sh # buildkit
2026-05-06 11:40:58 UTC (buildkit.dockerfile.v0)COPY LICENSE /pgadmin4/LICENSE # buildkit
2026-05-06 11:41:09 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c /venv/bin/python3 -m pip install --no-cache-dir gunicorn==23.0.0 && find / -type d -name '__pycache__' -exec rm -rf {} + && useradd -r -u 5050 -g root -s /sbin/nologin pgadmin && mkdir -p /run/pgadmin /var/lib/pgadmin && chown pgadmin:root /run/pgadmin /var/lib/pgadmin && chmod g=u /run/pgadmin /var/lib/pgadmin && touch /pgadmin4/config_distro.py && chown pgadmin:root /pgadmin4/config_distro.py && chmod g=u /pgadmin4/config_distro.py && chmod g=u /etc/passwd && setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/python3.[0-9][0-9] && echo "pgadmin ALL = NOPASSWD: /usr/sbin/postfix start" > /etc/sudoers.d/postfix && echo "pgadminr ALL = NOPASSWD: /usr/sbin/postfix start" >> /etc/sudoers.d/postfix # buildkit
2026-05-06 11:41:09 UTC (buildkit.dockerfile.v0)USER 5050
2026-05-06 11:41:09 UTC (buildkit.dockerfile.v0)VOLUME [/var/lib/pgadmin]
2026-05-06 11:41:09 UTC (buildkit.dockerfile.v0)EXPOSE map[443/tcp:{} 80/tcp:{}]
2026-05-06 11:41:09 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/entrypoint.sh"]
2026-05-06 11:37:57 UTC
167 MB
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHONPATH/pgadmin4
PYTHON_SHA256d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8
PYTHON_VERSION3.14.4
[#000] sha256:d17f077ada118cc762df373ff803592abf2dfa3ddafaa7381e364dd27a88fca7 - 2.4% (4.01 MB)
[#001] sha256:ce044e508c31b550012103ac403762a3f10a13a30aa1a69e117060b0d6d43a9d - 0.26% (447 KB)
[#002] sha256:9def3ce2dae125b2efcb5100bde3ecee4d9b5f78b9088098753338af9e277661 - 7.71% (12.9 MB)
[#003] sha256:9363636621cd74af602f2571bc4ee6ffe761c3ddcdbb85e4e29d3044e1d555e6 - 0.0% (250 Bytes)
[#004] sha256:b323cf82cb63632a0c35077d0dc2986b3b9e1209ebb9b80df2dd1d49595ff8e8 - 5.26% (8.78 MB)
[#005] sha256:8faaa1d096ff2f5f8ff6e5615bb5e8f535994236f07e89ca4fc44abe087d4d11 - 55.12% (92 MB)
[#006] sha256:46878233355a903e779f723eca376107262b8d27e81b1efb4dc69a7f5ecbf771 - 2.37% (3.95 MB)
[#007] sha256:5a8c35adbeb6dd4f3ed9a035843300910ca9fac025828c74a7e8900b31c2b692 - 0.16% (265 KB)
[#008] sha256:ec64b40f04e9dd3d736f9dd45ee33986215e6d9507de79f38230cee21dc55093 - 0.0% (191 Bytes)
[#009] sha256:9a7f2f4be58c0c2be4e2a7faa070e20bcd66e218e135fb135f962f10377efc41 - 0.0% (98 Bytes)
[#010] sha256:b91008da2c378a3850f714e0f90ffb14857fc5a877cfb1a530b3e158f6241105 - 5.86% (9.78 MB)
[#011] sha256:95b9920ffec8237f1a75d9446548e90451051d0fbcc2e54e78b377c79f6af2a9 - 20.76% (34.6 MB)
[#012] sha256:3b97f85d1c1d67f9eee75fc3ab5d6acaac4c056f459c2d0973f175b8d85de112 - 0.0% (648 Bytes)
[#013] sha256:cd2dcc730544444414a80764ed844c32bc58766c4cd2ee587e16640d49ab155e - 0.0% (3.84 KB)
[#014] sha256:429df4d47bb5230cd79078e606a3beff60515642f3b7f58842ae1a41202e387e - 0.0% (783 Bytes)
[#015] sha256:076df634de540085ac9a7245bd1a5636defef852e517057b0676ffebd77cc0e5 - 0.1% (179 KB)
ADD alpine-minirootfs-3.23.4-aarch64.tar.gz / # buildkit
2026-04-15 20:01:25 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2026-04-15 20:47:05 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-04-15 20:47:05 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2026-04-15 20:47:05 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.14.4
2026-04-15 20:47:05 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8
2026-04-15 20:49:53 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev zstd-dev ; 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 -; 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-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; arch="$(apk --print-arch)"; case "$arch" in x86_64|aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; x86) ;; *) 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; 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 '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2026-04-15 20:49:53 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-04-15 20:49:53 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2026-05-06 11:30:59 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apk update && apk upgrade && apk add bash postfix krb5-libs libjpeg-turbo shadow sudo tzdata libedit libldap libcap su-exec && rm -rf /var/cache/apk/* # buildkit
2026-05-06 11:34:56 UTC (buildkit.dockerfile.v0)COPY /venv /venv # buildkit
2026-05-06 11:34:56 UTC (buildkit.dockerfile.v0)COPY /usr/local/pgsql /usr/local/ # buildkit
2026-05-06 11:34:56 UTC (buildkit.dockerfile.v0)COPY /usr/local/lib/libpq.so.5.18 /usr/lib/liblz4.so.1.10.0 /usr/lib/ # buildkit
2026-05-06 11:34:56 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c ln -s libpq.so.5.18 /usr/lib/libpq.so.5 && ln -s libpq.so.5.18 /usr/lib/libpq.so && ln -s liblz4.so.1.10.0 /usr/lib/liblz4.so.1 # buildkit
2026-05-06 11:34:56 UTC (buildkit.dockerfile.v0)WORKDIR /pgadmin4
2026-05-06 11:37:48 UTC (buildkit.dockerfile.v0)ENV PYTHONPATH=/pgadmin4
2026-05-06 11:37:48 UTC (buildkit.dockerfile.v0)COPY /pgadmin4/web /pgadmin4 # buildkit
2026-05-06 11:37:49 UTC (buildkit.dockerfile.v0)COPY /pgadmin4/docs/en_US/_build/html/ /pgadmin4/docs # buildkit
2026-05-06 11:37:49 UTC (buildkit.dockerfile.v0)COPY pkg/docker/run_pgadmin.py pkg/docker/gunicorn_config.py /pgadmin4/ # buildkit
2026-05-06 11:37:49 UTC (buildkit.dockerfile.v0)COPY pkg/docker/entrypoint.sh /entrypoint.sh # buildkit
2026-05-06 11:37:49 UTC (buildkit.dockerfile.v0)COPY LICENSE /pgadmin4/LICENSE # buildkit
2026-05-06 11:37:57 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c /venv/bin/python3 -m pip install --no-cache-dir gunicorn==23.0.0 && find / -type d -name '__pycache__' -exec rm -rf {} + && useradd -r -u 5050 -g root -s /sbin/nologin pgadmin && mkdir -p /run/pgadmin /var/lib/pgadmin && chown pgadmin:root /run/pgadmin /var/lib/pgadmin && chmod g=u /run/pgadmin /var/lib/pgadmin && touch /pgadmin4/config_distro.py && chown pgadmin:root /pgadmin4/config_distro.py && chmod g=u /pgadmin4/config_distro.py && chmod g=u /etc/passwd && setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/python3.[0-9][0-9] && echo "pgadmin ALL = NOPASSWD: /usr/sbin/postfix start" > /etc/sudoers.d/postfix && echo "pgadminr ALL = NOPASSWD: /usr/sbin/postfix start" >> /etc/sudoers.d/postfix # buildkit
2026-05-06 11:37:57 UTC (buildkit.dockerfile.v0)USER 5050
2026-05-06 11:37:57 UTC (buildkit.dockerfile.v0)VOLUME [/var/lib/pgadmin]
2026-05-06 11:37:57 UTC (buildkit.dockerfile.v0)EXPOSE map[443/tcp:{} 80/tcp:{}]
2026-05-06 11:37:57 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/entrypoint.sh"]
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.