Namespace
dpage
Image / Tag
pgadmin4:9
Content Digest
sha256:3591b3d02910dcd817dec6fcaa681c278ba6966945283dd0ea0042731c330c83
Details
Created

2026-10-27 00:11:24 UTC

Size

153 MB

Content Digest
Environment
LANG

C.UTF-8

PATH

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

PYTHONPATH

/pgadmin4

PYTHON_SHA256

8b5536d280142ecf6cdfe15d12a21ba1c65e300bbf7b28a8d0cdb849575797de

PYTHON_VERSION

3.15.2


Layers

[#000] sha256:7b229517ed222597277036d94892173207d01a731ab3a88eeb1de2e963a2c788 - 2.41% (3.67 MB)

[#001] sha256:9e0270056964b3864b9aeaf7065244362315324ac991646bee6488862a8d82de - 0.26% (402 KB)

[#002] sha256:1c9cc35ec3800ac16f4f428c7cd849d6d8b7b5835e6071bb6a38aaa06fdb20de - 9.63% (14.7 MB)

[#003] sha256:a30f13ed68715dbb466b47c0eb10aadc1b9562603a2972ea2f12ed7e88fe89ac - 0.0% (247 Bytes)

[#004] sha256:c50256bf4a3ffe6319aff2384a086718a2dde63f465b6afb9f9c85e71b3a0244 - 6.02% (9.19 MB)

[#005] sha256:b012a19d1d67dd2840f64632d3ba6eff87b56967904fed2aaf57ee067c0914b3 - 47.55% (72.5 MB)

[#006] sha256:f378963453868a8c4ae6b6f0346f82d5f1f36a2ee0640a2ed17131a6d5e2fdda - 2.67% (4.08 MB)

[#007] sha256:eeb47ffdf62ff6e3ed38418e9751e24760a9b38da6704a6ecd1c6dafe63b29e3 - 0.19% (302 KB)

[#008] sha256:b277aed9d48dd52c6e61755b99df3f6b5da85d10a9e20ffac1196eaf3fe50e43 - 0.0% (191 Bytes)

[#009] sha256:7a707c69dee1fd0e68c8c2fe5aff036d3bbee1412e38dcd7842700b7aa578c8e - 0.0% (98 Bytes)

[#010] sha256:86c0f51575351d68c0cd6180e73d8171d4e794c5c3933c0a818e8b8e6dc0f6a4 - 8.33% (12.7 MB)

[#011] sha256:670e4cbd325a7a6b03fe500a1d918973fe8ff43186199aecde8959bb5aa996de - 22.8% (34.8 MB)

[#012] sha256:574fa68bb4e86f4c9d796893a76b35db96155f6acfc2525e6560125ff360a6da - 0.0% (821 Bytes)

[#013] sha256:da5e39b7e9d8612f018c516a1567cc298f8b4fc4a86063d2f0f283c866972582 - 0.0% (4.83 KB)

[#014] sha256:9b83ea704a1b743b6f50a1f02026c752793e05b164238a78a6c7abbb1061036b - 0.0% (780 Bytes)

[#015] sha256:0a6449e9caa9fd189d5be8d73c61b58e4a01a11735f921e0e6a0767e0e4f7039 - 0.13% (206 KB)


History
2026-10-21 22:37:22 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.24.3-x86_64.tar.gz / # buildkit

2026-10-21 22:37:22 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-10-26 22:31:54 UTC (buildkit.dockerfile.v0)

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

2026-10-26 22:31:54 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-10-26 22:31:54 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-10-26 22:31:54 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.15.2

2026-10-26 22:31:54 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=8b5536d280142ecf6cdfe15d12a21ba1c65e300bbf7b28a8d0cdb849575797de

2026-10-26 22:34:21 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 g++ gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make mpdecimal-dev 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-10-26 22:34:21 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-10-26 22:34:21 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-10-27 00:02:38 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk update && apk upgrade && apk add bash postfix krb5-libs libcurl libjpeg-turbo shadow sudo tzdata libedit libldap libcap su-exec && rm -rf /var/cache/apk/* # buildkit

2026-10-27 00:07:47 UTC (buildkit.dockerfile.v0)

COPY /venv /venv # buildkit

2026-10-27 00:07:47 UTC (buildkit.dockerfile.v0)

COPY /usr/local/pgsql /usr/local/ # buildkit

2026-10-27 00:07:47 UTC (buildkit.dockerfile.v0)

COPY /usr/local/lib/libpq.so.5.18 /usr/local/lib/libpq-oauth-18.so /usr/lib/liblz4.so.1.10.0 /usr/lib/ # buildkit

2026-10-27 00:07: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-10-27 00:07:47 UTC (buildkit.dockerfile.v0)

WORKDIR /pgadmin4

2026-10-27 00:11:16 UTC (buildkit.dockerfile.v0)

ENV PYTHONPATH=/pgadmin4

2026-10-27 00:11:16 UTC (buildkit.dockerfile.v0)

COPY /pgadmin4/web /pgadmin4 # buildkit

2026-10-27 00:11:17 UTC (buildkit.dockerfile.v0)

COPY /pgadmin4/docs/en_US/_build/html/ /pgadmin4/docs # buildkit

2026-10-27 00:11:17 UTC (buildkit.dockerfile.v0)

COPY pkg/docker/run_pgadmin.py pkg/docker/gunicorn_config.py /pgadmin4/ # buildkit

2026-10-27 00:11:17 UTC (buildkit.dockerfile.v0)

COPY pkg/docker/entrypoint.sh /entrypoint.sh # buildkit

2026-10-27 00:11:17 UTC (buildkit.dockerfile.v0)

COPY LICENSE /pgadmin4/LICENSE # buildkit

2026-10-27 00:11:24 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 && PYBIN="$(ls /usr/local/bin/python3.[0-9][0-9] 2>/dev/null | head -n1)" && cp "$PYBIN" /usr/local/bin/python3-cap && setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/python3-cap && ln -s /usr/local/bin/python3-cap /venv/bin/python3-cap && 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-10-27 00:11:24 UTC (buildkit.dockerfile.v0)

USER 5050

2026-10-27 00:11:24 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/pgadmin]

2026-10-27 00:11:24 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-10-27 00:11:24 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

Details
Created

2026-10-27 00:58:22 UTC

Size

152 MB

Content Digest
Environment
LANG

C.UTF-8

PATH

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

PYTHONPATH

/pgadmin4

PYTHON_SHA256

8b5536d280142ecf6cdfe15d12a21ba1c65e300bbf7b28a8d0cdb849575797de

PYTHON_VERSION

3.15.2


Layers

[#000] sha256:d3531b7a4f217bdc3426c57bcff84c170f086f456a39689d4a615c6d026c4be0 - 2.63% (4 MB)

[#001] sha256:d2521f7ab0b815cf80ad40aa1f09cbb45d2e6b624a2b663f3fe12637e9387bbc - 0.26% (406 KB)

[#002] sha256:751c374ac99211996b4333d728ff05b268ad6b8193f0f2e699334ee9c98d7254 - 9.69% (14.7 MB)

[#003] sha256:5357b35191ba6f3ca20171c690020a2d05aae49349f74cd1be6241c6f0004809 - 0.0% (249 Bytes)

[#004] sha256:e2868b6a4ee49b610d621b3aceb4c96803e036739e4e43228c216dacd8c83d63 - 6.25% (9.49 MB)

[#005] sha256:80da13ef345e65582951e77bd0a63e8f291352864d2240a52341430d256aebec - 46.9% (71.1 MB)

[#006] sha256:b9e2b11e6565a44211274c0b73b525a256ed911dd1b96c9d9c00d85d77a93da3 - 2.62% (3.98 MB)

[#007] sha256:2b290d389999ff698cf99fe3ddc74cb1f6240c3fc3f1161ac671136b7d63ff1d - 0.2% (305 KB)

[#008] sha256:62f6b52ca895efa2a7734146d732cd09545d08d207d60555b5e6a11274551502 - 0.0% (191 Bytes)

[#009] sha256:2ca32b169cc46ee775bc23aae8be25f95149ef0514e802c2d70de46939cc35f9 - 0.0% (98 Bytes)

[#010] sha256:029dac397f6af4fcecc2a6ef7688eea9342257292a57568040c4a798a7cfb38e - 8.38% (12.7 MB)

[#011] sha256:8b2fb7bad7541a5d7a3b8c19701611a0198ec78f0700e954620a95685672c767 - 22.93% (34.8 MB)

[#012] sha256:78815a5833324ce695043a62ee83604514e858d07e377a92deeeb9af70d58b82 - 0.0% (822 Bytes)

[#013] sha256:da5e39b7e9d8612f018c516a1567cc298f8b4fc4a86063d2f0f283c866972582 - 0.0% (4.83 KB)

[#014] sha256:7d123115ab34e12912a131f01339db0ce3aa6c124a616fcd0ad66780144fb8f1 - 0.0% (782 Bytes)

[#015] sha256:9c21e0ca7ac4ba130ef868ced47e8bd6fd99c5dccf54bbfa6a1abee8e5194bc0 - 0.13% (206 KB)


History
2026-10-21 22:51:39 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.24.3-aarch64.tar.gz / # buildkit

2026-10-21 22:51:39 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-10-26 22:31:51 UTC (buildkit.dockerfile.v0)

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

2026-10-26 22:31:51 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-10-26 22:31:51 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-10-26 22:31:51 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.15.2

2026-10-26 22:31:51 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=8b5536d280142ecf6cdfe15d12a21ba1c65e300bbf7b28a8d0cdb849575797de

2026-10-26 22:34:34 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 g++ gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make mpdecimal-dev 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-10-26 22:34:34 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-10-26 22:34:34 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-10-27 00:02:56 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk update && apk upgrade && apk add bash postfix krb5-libs libcurl libjpeg-turbo shadow sudo tzdata libedit libldap libcap su-exec && rm -rf /var/cache/apk/* # buildkit

2026-10-27 00:36:54 UTC (buildkit.dockerfile.v0)

COPY /venv /venv # buildkit

2026-10-27 00:36:55 UTC (buildkit.dockerfile.v0)

COPY /usr/local/pgsql /usr/local/ # buildkit

2026-10-27 00:36:55 UTC (buildkit.dockerfile.v0)

COPY /usr/local/lib/libpq.so.5.18 /usr/local/lib/libpq-oauth-18.so /usr/lib/liblz4.so.1.10.0 /usr/lib/ # buildkit

2026-10-27 00:36:55 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-10-27 00:36:55 UTC (buildkit.dockerfile.v0)

WORKDIR /pgadmin4

2026-10-27 00:57:43 UTC (buildkit.dockerfile.v0)

ENV PYTHONPATH=/pgadmin4

2026-10-27 00:57:43 UTC (buildkit.dockerfile.v0)

COPY /pgadmin4/web /pgadmin4 # buildkit

2026-10-27 00:57:43 UTC (buildkit.dockerfile.v0)

COPY /pgadmin4/docs/en_US/_build/html/ /pgadmin4/docs # buildkit

2026-10-27 00:57:43 UTC (buildkit.dockerfile.v0)

COPY pkg/docker/run_pgadmin.py pkg/docker/gunicorn_config.py /pgadmin4/ # buildkit

2026-10-27 00:57:43 UTC (buildkit.dockerfile.v0)

COPY pkg/docker/entrypoint.sh /entrypoint.sh # buildkit

2026-10-27 00:57:43 UTC (buildkit.dockerfile.v0)

COPY LICENSE /pgadmin4/LICENSE # buildkit

2026-10-27 00:58:22 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 && PYBIN="$(ls /usr/local/bin/python3.[0-9][0-9] 2>/dev/null | head -n1)" && cp "$PYBIN" /usr/local/bin/python3-cap && setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/python3-cap && ln -s /usr/local/bin/python3-cap /venv/bin/python3-cap && 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-10-27 00:58:22 UTC (buildkit.dockerfile.v0)

USER 5050

2026-10-27 00:58:22 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/pgadmin]

2026-10-27 00:58:22 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-10-27 00:58:22 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.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