Namespace
library
Image / Tag
postgres:16.10-alpine
Content Digest
sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297
Details
Created

2025-10-15 18:23:03 UTC

Size

110 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.19

LANG

en_US.utf8

PATH

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

PGDATA

/var/lib/postgresql/data

PG_MAJOR

16

PG_SHA256

de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

PG_VERSION

16.10


Layers

[#000] sha256:13c6e95c06ae06f126f5e940d6d88c2fec0da715c80878ad225c76ad48d0a31e - 3.13% (3.45 MB)

[#001] sha256:93a9a2efb51906027fb538d0ad69826565d26735b7eb602173f17e55db2f4c8a - 0.0% (971 Bytes)

[#002] sha256:46b95a2eac4d5bbaae61c65cb4c3731f84081d5d8031dd42d6269e3aa5162075 - 0.77% (870 KB)

[#003] sha256:07970521c4854bf1c8147f88c1ad78305d630e50331f6082f31695c7e9eebed6 - 0.0% (175 Bytes)

[#004] sha256:6e50e7a599f3903673def0875f5627c746c2050810bb17ee08a83939728fd1ac - 0.0% (116 Bytes)

[#005] sha256:6666701d9571f7c555162ffc084a8ec32ab1b8428aaae3af63069e270501da57 - 96.09% (106 MB)

[#006] sha256:a399add18b0379384a40b9fcb0e9a186a3951e3bf851914de39ef38b595cd59c - 0.01% (9.34 KB)

[#007] sha256:b2ae0505be666ec74186136c77bc975fbe90af62b7d15be45497373e61853f9e - 0.0% (128 Bytes)

[#008] sha256:106190b0eb772f0f2212c032e5369a669a82935868ab4738510e3ce968522fc9 - 0.0% (168 Bytes)

[#009] sha256:341de127edcf83ed730fdf80a8044b22732f3c4b112da0181a2c55ce68d90531 - 0.01% (5.94 KB)

[#010] sha256:ed6167138123adcf8c63cb20d3bfd86450bce93be965f5a95f70effec59da2ad - 0.0% (183 Bytes)


History
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.2-x86.tar.gz / # buildkit

2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ln -svf gosu /usr/local/bin/su-exec; su-exec nobody true # backwards compatibility (removed in PostgreSQL 17+) # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.10

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; export LLVM_CONFIG="/usr/lib/llvm19/bin/llvm-config"; export CLANG=clang-19; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-thread-safety --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-icu --with-ldap --with-libxml --with-libxslt --with-llvm --with-lz4 --with-openssl --with-perl --with-python --with-tcl --with-zstd ; make -j "$(nproc)" world-bin; make install-world-bin; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-10-15 18:23:03 UTC

Size

104 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.19

LANG

en_US.utf8

PATH

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

PGDATA

/var/lib/postgresql/data

PG_MAJOR

16

PG_SHA256

de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

PG_VERSION

16.10


Layers

[#000] sha256:2d35ebdb57d9971fea0cac1582aa78935adf8058b2cc32db163c98822e5dfa1b - 3.47% (3.63 MB)

[#001] sha256:68d154bb20202728a08e0387b8488ac3b63f9fa33a07febfb44a156083c327cd - 0.0% (972 Bytes)

[#002] sha256:36ffbe736a3e8e1c43aaadd972aeba63f4ff9df159e65a301da7f8248126bb0b - 0.84% (897 KB)

[#003] sha256:fe767c9b6ce5b1f038ac354221d22d229110559f1b711a1d58349d7d47afdce0 - 0.0% (174 Bytes)

[#004] sha256:00d06ba48f3dab2b68693cb46268b9d13fd588df627efdb0b939971b586c8115 - 0.0% (116 Bytes)

[#005] sha256:f1ef2039be871ba3824929b2dd647fc200200fdd2c993852e9332d5d6b7a8e9f - 95.67% (99.9 MB)

[#006] sha256:77229534494d957f8b3f55a04141f92f71ff1fc88680c8588f35584a1e325a7f - 0.01% (9.34 KB)

[#007] sha256:586fd3f22b3949a867e00447830421cc56dca424a8befc24ebb02ae5b9f50357 - 0.0% (128 Bytes)

[#008] sha256:a7cf639c3010afb090ed3f1f0eaa43004e9d3993e6420ac74a5b3732c13903d3 - 0.0% (170 Bytes)

[#009] sha256:576fcebcd39adb2c4d9fe68314356d54db7c48a1aeb255aef2c89e7a71ed553d - 0.01% (5.94 KB)

[#010] sha256:0a6aa09020daaa9a1ae0e424ccdfe4e056d403bdd82d5c4dfb61bb1aa0049071 - 0.0% (185 Bytes)


History
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

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

2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ln -svf gosu /usr/local/bin/su-exec; su-exec nobody true # backwards compatibility (removed in PostgreSQL 17+) # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.10

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; export LLVM_CONFIG="/usr/lib/llvm19/bin/llvm-config"; export CLANG=clang-19; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-thread-safety --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-icu --with-ldap --with-libxml --with-libxslt --with-llvm --with-lz4 --with-openssl --with-perl --with-python --with-tcl --with-zstd ; make -j "$(nproc)" world-bin; make install-world-bin; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-10-15 18:23:03 UTC

Size

84.9 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.19

LANG

en_US.utf8

PATH

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

PGDATA

/var/lib/postgresql/data

PG_MAJOR

16

PG_SHA256

de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

PG_VERSION

16.10


Layers

[#000] sha256:bb1da3d879939be7df9f182950d2fb201d4fc2e1043677da2037cd6afb084ce0 - 3.94% (3.34 MB)

[#001] sha256:dba3fd6b82a88420345815bfb042550d08813f724457363de79ecf7bd5bbf269 - 0.0% (972 Bytes)

[#002] sha256:0767b7a46a8569a92bd0c04cfad4bc90ef8a28a6a9ed84d25873650aceb8539e - 1.0% (865 KB)

[#003] sha256:1cc19bc13299330b29854bbb48f557c1336a9592c2adcbb447b27bccb97b6c06 - 0.0% (170 Bytes)

[#004] sha256:a796d57880487ab5b5458528030a3f90071468272a6c49ce7e613e47791c857e - 0.0% (116 Bytes)

[#005] sha256:4c2cb829eacd3a2f3df24d94f9d1b0fd4d042a2c05fcda7c355f7b101c8cb70e - 95.05% (80.7 MB)

[#006] sha256:de07f0d2753cde8e92e80ff920a24cf1101031e2c3999a4efda7d8e95009bec9 - 0.01% (9.33 KB)

[#007] sha256:9aad640a8624b3609b81b7d7b7cf6d276017268766fb30f4e791c5e65ee4ddd2 - 0.0% (128 Bytes)

[#008] sha256:3822fcefa7c9e6437114224e107cba467f21e48f9e8fe43657081d16fa221a7e - 0.0% (169 Bytes)

[#009] sha256:362a48137fe1f80dd09e17e5140ca0616177377271ba6a1eb4ab5500ed46a93f - 0.01% (5.93 KB)

[#010] sha256:29665ba64b1c4a12cdabb652299ff20875fdb1de935ae9a816c4b1018a005ad1 - 0.0% (185 Bytes)


History
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.2-armhf.tar.gz / # buildkit

2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ln -svf gosu /usr/local/bin/su-exec; su-exec nobody true # backwards compatibility (removed in PostgreSQL 17+) # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.10

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; export LLVM_CONFIG="/usr/lib/llvm19/bin/llvm-config"; export CLANG=clang-19; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-thread-safety --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-icu --with-ldap --with-libxml --with-libxslt --with-llvm --with-lz4 --with-openssl --with-perl --with-python --with-tcl --with-zstd ; make -j "$(nproc)" world-bin; make install-world-bin; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-10-15 18:23:03 UTC

Size

80.4 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.19

LANG

en_US.utf8

PATH

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

PGDATA

/var/lib/postgresql/data

PG_MAJOR

16

PG_SHA256

de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

PG_VERSION

16.10


Layers

[#000] sha256:2763c7fc79b66030222442365f4a0f69d9dbaa11f7fd47a918d29d732d52996c - 3.82% (3.07 MB)

[#001] sha256:f2d108d6f34e7bd0ac45e652bdb0b306274a67dbb18a0da34c34de783d43eb37 - 0.0% (973 Bytes)

[#002] sha256:44ecc66540a02e7fca871b8e17068b78202c862a65790191d945aa22e1cb7cc8 - 1.05% (865 KB)

[#003] sha256:4b6564bece8aea2a9f16f373860db61490a154e6842b211338b470843e7f52da - 0.0% (172 Bytes)

[#004] sha256:fe8027d67a4d1d5908bc49984411b9fede7af85463b578b3227cde529ee9764c - 0.0% (116 Bytes)

[#005] sha256:b50b96aed3b921f58dc9b54567768bbe434683e04c0fa592a580f74a17851cb5 - 95.11% (76.5 MB)

[#006] sha256:9abef815c2b5916bda61df523b74eeabb1a6b4c269055ed28569e43e365e034c - 0.01% (9.34 KB)

[#007] sha256:cad038074265a5996815fdb458d1f632eeb554425979c3627456a2d5ceeac60a - 0.0% (129 Bytes)

[#008] sha256:1f93bee2f74c39302311c052e24336addc947dd86ac54a0a84150f6eea2a3bcf - 0.0% (169 Bytes)

[#009] sha256:f3ef42d306ae94ea0b7a7021a7b331f313dcda6398a24a72c3fd947f7def786c - 0.01% (5.94 KB)

[#010] sha256:e05f5e65d58ed26cd6f14e37e6c1e78b05d8cbda3b01a49b1491d14d8a6651bc - 0.0% (184 Bytes)


History
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.2-armv7.tar.gz / # buildkit

2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ln -svf gosu /usr/local/bin/su-exec; su-exec nobody true # backwards compatibility (removed in PostgreSQL 17+) # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.10

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; export LLVM_CONFIG="/usr/lib/llvm19/bin/llvm-config"; export CLANG=clang-19; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-thread-safety --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-icu --with-ldap --with-libxml --with-libxslt --with-llvm --with-lz4 --with-openssl --with-perl --with-python --with-tcl --with-zstd ; make -j "$(nproc)" world-bin; make install-world-bin; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-10-15 18:23:03 UTC

Size

101 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.19

LANG

en_US.utf8

PATH

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

PGDATA

/var/lib/postgresql/data

PG_MAJOR

16

PG_SHA256

de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

PG_VERSION

16.10


Layers

[#000] sha256:6b59a28fa20117e6048ad0616b8d8c901877ef15ff4c7f18db04e4f01f43bc39 - 3.92% (3.95 MB)

[#001] sha256:6c7ec9799f271ed1d855aa96216f6b0f72ba9f6f54e2799d4d9d1915a4e5aa4f - 0.0% (971 Bytes)

[#002] sha256:c46c18a89b7113c9f334e3a0f36a6b9fe0dc38a4387ae6ecd1538f082f5244e4 - 0.83% (853 KB)

[#003] sha256:052607f01c92cd51e902e31ad25368d89a10e9d34fe6307ee36b54c73251f60b - 0.0% (173 Bytes)

[#004] sha256:17d5b73ce25f5c8406a1935877c36653e46499884284ac32585eb13a689ff227 - 0.0% (116 Bytes)

[#005] sha256:5a709fa57bbbafd1a57300ecd8a30e3fcd1421018a5faebb32aec386134344d0 - 95.23% (95.8 MB)

[#006] sha256:97ba15d20a0365c287962c37546f869c2ab6c2acd5e97c5cb959c1208b3c6b90 - 0.01% (9.34 KB)

[#007] sha256:4034733fcdeb7153ee08de9a29887284f6d57ad1e2a2f0fca9c1796b680831eb - 0.0% (128 Bytes)

[#008] sha256:a86231ea8e94e26ae797cf85955aa01a936e78aa2b62064989c81d3f837650f4 - 0.0% (169 Bytes)

[#009] sha256:f9863a3d3450c540de59749482a0591b9648fd71ffd615a1611fb2feaa01387d - 0.01% (5.94 KB)

[#010] sha256:d42c893c6aaf36766c69c35b45aa64f3478504ca7fbaef89ed34e00e9d71bd61 - 0.0% (184 Bytes)


History
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

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

2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ln -svf gosu /usr/local/bin/su-exec; su-exec nobody true # backwards compatibility (removed in PostgreSQL 17+) # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.10

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; export LLVM_CONFIG="/usr/lib/llvm19/bin/llvm-config"; export CLANG=clang-19; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-thread-safety --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-icu --with-ldap --with-libxml --with-libxslt --with-llvm --with-lz4 --with-openssl --with-perl --with-python --with-tcl --with-zstd ; make -j "$(nproc)" world-bin; make install-world-bin; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-10-15 18:23:03 UTC

Size

88.9 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.19

LANG

en_US.utf8

PATH

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

PGDATA

/var/lib/postgresql/data

PG_MAJOR

16

PG_SHA256

de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

PG_VERSION

16.10


Layers

[#000] sha256:85a0f69f026b4a01420490809bed190217e05518f7b718c0bbc1ad4871e0dedf - 4.0% (3.56 MB)

[#001] sha256:a7371cc5a1e011af5c64ddc2628f8cd48022e1573d70d32fb871aa10461a6d7e - 0.0% (970 Bytes)

[#002] sha256:59fbb86fe0c812303dc3b9181204c212539eebf5050b5feefd7903a102f7f35c - 0.94% (858 KB)

[#003] sha256:de42be0370b03aed2e123e40423eea2cb3eb49464be6173ffa67069e2987d9ae - 0.0% (174 Bytes)

[#004] sha256:c522a5314607e90cafa0db899f1d5f82554dac6c31f308683dc173be90a89563 - 0.0% (116 Bytes)

[#005] sha256:010d6485cc94620d63e0bbd7e6f7ddade128bc95c711d9add3e424c847059d65 - 95.04% (84.5 MB)

[#006] sha256:e0292f2aef44dd35daa7da06bf1ecc0f1894fceecc7b77f44d4c21cf0421d583 - 0.01% (9.34 KB)

[#007] sha256:9373c6ce0ec71b294a38ef967e8b12ba0c648f8df2cf6ab48a51469080d511cb - 0.0% (128 Bytes)

[#008] sha256:d541cc33a3934c888182ee9bb98ebcc2162cee9e1a45ac337fbb16658108ab03 - 0.0% (168 Bytes)

[#009] sha256:f398ddf270907682967909c9579df31b042e6f7f15dbb855be37ec5b81723571 - 0.01% (5.94 KB)

[#010] sha256:fe55545ce7338060c7349e03662d4637c3b97c67ff55a6c9591bcc94727d5d49 - 0.0% (188 Bytes)


History
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.2-ppc64le.tar.gz / # buildkit

2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ln -svf gosu /usr/local/bin/su-exec; su-exec nobody true # backwards compatibility (removed in PostgreSQL 17+) # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.10

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; export LLVM_CONFIG="/usr/lib/llvm19/bin/llvm-config"; export CLANG=clang-19; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-thread-safety --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-icu --with-ldap --with-libxml --with-libxslt --with-llvm --with-lz4 --with-openssl --with-perl --with-python --with-tcl --with-zstd ; make -j "$(nproc)" world-bin; make install-world-bin; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-10-15 18:23:03 UTC

Size

104 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.19

LANG

en_US.utf8

PATH

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

PGDATA

/var/lib/postgresql/data

PG_MAJOR

16

PG_SHA256

de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

PG_VERSION

16.10


Layers

[#000] sha256:139bee3c50b89b56dcbc72522ce83097d9beb59d9d3a5c19072ccd1ad54b11c8 - 3.21% (3.35 MB)

[#001] sha256:84833d3fc2e2327713a740e826ce77ffeb7187fea41b0ab5ee6e3bed55727a29 - 0.0% (971 Bytes)

[#002] sha256:a5f9f93d0260214bab91e232f59b30657fb80c4bae9afbda946a88f72abe1f8c - 0.79% (846 KB)

[#003] sha256:8b8b87e4034505d4ffa2b2aaedb62dfb970b14203c583ebf9e80d411d7ff121e - 0.0% (177 Bytes)

[#004] sha256:22c15fbfbbc9ce67582ebdea802ab9acc4676b110d78d973a3e6d2f1250f996b - 0.0% (116 Bytes)

[#005] sha256:af938a21a7569c6895f4a3679d5b69967ee9dc3864f75f3e245e95eb1c2a3b2a - 95.98% (100 MB)

[#006] sha256:0ec57e357369a0a7df0c38acf3555ad3d2ca1fe411dc250a0f68e1383afb6176 - 0.01% (9.34 KB)

[#007] sha256:0d3aabba25f08b18b45eb73d668abd3f171d7f4ca95f07b592de1ef247f263a0 - 0.0% (128 Bytes)

[#008] sha256:a404f3364508144d14f49de770b99c5987ad61c6e7dee4b3af845f48fd6dc25f - 0.0% (172 Bytes)

[#009] sha256:854bb23bf5b1b8ce64a76676f79a7538efc605b0cd14ee40cb58981ad19f7ae1 - 0.01% (5.94 KB)

[#010] sha256:467ad1679285979243567b6b2187ee54e907888dd108ccee45b09f8fe7e49755 - 0.0% (189 Bytes)


History
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.2-riscv64.tar.gz / # buildkit

2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ln -svf gosu /usr/local/bin/su-exec; su-exec nobody true # backwards compatibility (removed in PostgreSQL 17+) # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.10

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; export LLVM_CONFIG="/usr/lib/llvm19/bin/llvm-config"; export CLANG=clang-19; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-thread-safety --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-icu --with-ldap --with-libxml --with-libxslt --with-llvm --with-lz4 --with-openssl --with-perl --with-python --with-tcl --with-zstd ; make -j "$(nproc)" world-bin; make install-world-bin; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-10-15 18:23:03 UTC

Size

113 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.19

LANG

en_US.utf8

PATH

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

PGDATA

/var/lib/postgresql/data

PG_MAJOR

16

PG_SHA256

de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

PG_VERSION

16.10


Layers

[#000] sha256:e6b06613ca2e7cdf3e8ebbe71ca45137242628a4a3a4bfcb7a9f76d0d5b0e653 - 3.09% (3.48 MB)

[#001] sha256:3c251448762cae02c19fba98b2b9a936e47a5edb5643045106190b93b938155d - 0.0% (970 Bytes)

[#002] sha256:02c0a0aa0dfcf70c3903b0b02b0deffeff67257bcba775680621ed71951864a8 - 0.76% (873 KB)

[#003] sha256:025e83e222cb3e6578d4c4be251d1b1bd2c395b742ed774be1089930fc788737 - 0.0% (176 Bytes)

[#004] sha256:618892267ada9df28b5e740a3bfd0dc547b1c6862bc4da611bc37a1fcff19b06 - 0.0% (116 Bytes)

[#005] sha256:d16e16c0868ba021fb43a5f7c99f1315cc42b97776cd23304f3c0adcc846c589 - 96.14% (108 MB)

[#006] sha256:20c0cfae171efb9bc36c0a63328a0b053b0245c43e8496f6f06a1c22d6a5e618 - 0.01% (9.34 KB)

[#007] sha256:84d49391c92f3e65c3c5a45dc678e7d1b56674f5578f37607ebb2b3a528dffca - 0.0% (128 Bytes)

[#008] sha256:fc1d7ef461398d508b95c26915a7622ef19f53a5d9a54e354c6f66df78a9b875 - 0.0% (170 Bytes)

[#009] sha256:9b36b0ce4efddb689cf69d7db45ef297b4bbbdf16e09adff947aa5d5a747b87a - 0.01% (5.94 KB)

[#010] sha256:0c7e6712a989dd083814aa3ff5180fc6bf5eb1c382a25e7eaa350499f19829f2 - 0.0% (188 Bytes)


History
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.2-s390x.tar.gz / # buildkit

2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; addgroup -g 70 -S postgres; adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ln -svf gosu /usr/local/bin/su-exec; su-exec nobody true # backwards compatibility (removed in PostgreSQL 17+) # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir /docker-entrypoint-initdb.d # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.10

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=de8485f4ce9c32e3ddfeef0b7c261eed1cecb54c9bcd170e437ff454cb292b42

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; wget -O postgresql.tar.bz2 "https://ftp.postgresql.org/pub/source/v$PG_VERSION/postgresql-$PG_VERSION.tar.bz2"; echo "$PG_SHA256 *postgresql.tar.bz2" | sha256sum -c -; mkdir -p /usr/src/postgresql; tar --extract --file postgresql.tar.bz2 --directory /usr/src/postgresql --strip-components 1 ; rm postgresql.tar.bz2; apk add --no-cache --virtual .build-deps $DOCKER_PG_LLVM_DEPS bison coreutils dpkg-dev dpkg flex g++ gcc krb5-dev libc-dev libedit-dev libxml2-dev libxslt-dev linux-headers make openldap-dev openssl-dev perl-dev perl-ipc-run perl-utils python3-dev tcl-dev util-linux-dev zlib-dev icu-dev lz4-dev zstd-dev ; cd /usr/src/postgresql; awk '$1 == "#define" && $2 == "DEFAULT_PGSOCKET_DIR" && $3 == "\"/tmp\"" { $3 = "\"/var/run/postgresql\""; print; next } { print }' src/include/pg_config_manual.h > src/include/pg_config_manual.h.new; grep '/var/run/postgresql' src/include/pg_config_manual.h.new; mv src/include/pg_config_manual.h.new src/include/pg_config_manual.h; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; export LLVM_CONFIG="/usr/lib/llvm19/bin/llvm-config"; export CLANG=clang-19; ./configure --enable-option-checking=fatal --build="$gnuArch" --enable-integer-datetimes --enable-thread-safety --enable-tap-tests --disable-rpath --with-uuid=e2fs --with-pgport=5432 --with-system-tzdata=/usr/share/zoneinfo --prefix=/usr/local --with-includes=/usr/local/include --with-libraries=/usr/local/lib --with-gssapi --with-icu --with-ldap --with-libxml --with-libxslt --with-llvm --with-lz4 --with-openssl --with-perl --with-python --with-tcl --with-zstd ; make -j "$(nproc)" world-bin; make install-world-bin; make -C contrib install; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | grep -v -e perl -e python -e tcl )"; apk add --no-cache --virtual .postgresql-rundeps $runDeps bash tzdata zstd icu-data-full $([ "$(apk --print-arch)" != 'ppc64le' ] && echo 'nss_wrapper') ; apk del --no-network .build-deps; cd /; rm -rf /usr/src/postgresql /usr/local/share/doc /usr/local/share/man ; postgres --version # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cp -v /usr/local/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample.orig; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA" # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sT docker-ensure-initdb.sh /usr/local/bin/docker-enforce-initdb.sh # buildkit

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-10-15 18:23:03 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]