Namespace
library
Image / Tag
postgres:16.9-alpine3.21
Content Digest
sha256:d83f6c12979230018306ab005ce412dd4627552dae66002565b357872d402aa7
Details
Created

2025-06-06 18:27:47 UTC

Size

110 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.17

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

07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

PG_VERSION

16.9


Layers

[#000] sha256:69aa61ccf55e5bf8e7a069b89e8afb42b4f3443b3785868795af8046d810d608 - 2.99% (3.3 MB)

[#001] sha256:97560e20ec3efe3a7b71d8d111a2e257ea534534f3faabc0a49e227a78dc1a13 - 0.0% (969 Bytes)

[#002] sha256:60b75dba58d021a56dcaade242f311d8e49e7e86c9eb5235a2ef77b343f7485c - 0.95% (1.04 MB)

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

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

[#005] sha256:faf0c2844038fd64001e66d18a23a8a0f57139c3d45b55138975b59a477f87f4 - 96.05% (106 MB)

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

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

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

[#009] sha256:fed49a7a322fff9087be44562b0f58f8116ce5605a8c5a0e3de2ac2a20302c53 - 0.01% (5.79 KB)

[#010] sha256:77226d584f117bc0be797788d19b9c418465e7442a0abe7abd4dca0cda6b5933 - 0.0% (186 Bytes)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.17

2025-06-06 18:27:47 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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.9

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-06-06 18:27:47 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-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-06-06 18:27:47 UTC

Size

105 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.17

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

07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

PG_VERSION

16.9


Layers

[#000] sha256:f18232174bc91741fdf3da96d85011092101a032a93a388b79e99e69c2d5c870 - 3.32% (3.47 MB)

[#001] sha256:3ba378fc4c2e401972852e92a73f0bdc4eea75dbd9f3802b30187e1b34a401db - 0.0% (975 Bytes)

[#002] sha256:4968f22b504018dec670add5137f8dd562abed705a221d5f5092af4e39866ed0 - 1.02% (1.07 MB)

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

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

[#005] sha256:4e0b889294ab656edc1342cb9ed00d052ebdf0e8221e405f1641f7a58e63abf0 - 95.64% (100 MB)

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

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

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

[#009] sha256:427278fcff677458d3b2bf2c07c5a812a33ce59804f43d28802bb93d875fb6d7 - 0.01% (5.79 KB)

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


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.17

2025-06-06 18:27:47 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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.9

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-06-06 18:27:47 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-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-06-06 18:27:47 UTC

Size

85.1 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.17

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

07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

PG_VERSION

16.9


Layers

[#000] sha256:76099982f06682e28a60c3b774ef20931d07b0a2f551203484e633d8c0361ee7 - 3.77% (3.21 MB)

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

[#002] sha256:781627176b8f9e10a830d9e3a634776cd0db6531992b444881c58b767652e146 - 1.22% (1.04 MB)

[#003] sha256:2d5c66ed96baf47284abdd1941a68e679209bcd67c5115885f337bd99a0c6008 - 0.0% (176 Bytes)

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

[#005] sha256:b84d66e31cccf77883bbb1457eba76b905b287eea3edca113bf4cb1014dcbc2d - 94.99% (80.8 MB)

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

[#007] sha256:d943890fa9c8c042aa4c985e882828b377c730263c918a45940c6bebe8467dd6 - 0.0% (127 Bytes)

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

[#009] sha256:ef71752803bb378d943b306acf97a4b8a9ede37cd53da618a36f48c52d65d560 - 0.01% (5.79 KB)

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


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.17

2025-06-06 18:27:47 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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.9

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-06-06 18:27:47 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-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-06-06 18:27:47 UTC

Size

80.5 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.17

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

07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

PG_VERSION

16.9


Layers

[#000] sha256:85f3b18f9f5a8655db86c6dfb02bb01011ffef63d10a173843c5c65c3e9137b7 - 3.67% (2.95 MB)

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

[#002] sha256:997421b050761e5bc8fffaa3538a99a0dfde2e21a4b3c0d5f0432f97e3b5127d - 1.29% (1.04 MB)

[#003] sha256:ce3ebd6a73bb383b8af8f2740ed00d938ad77aded3653a6c82feb078c4df2e9d - 0.0% (178 Bytes)

[#004] sha256:47f44772b8b361b4f64d07c3deb45db2f43c43f540d73e8bba67c33366661daf - 0.0% (114 Bytes)

[#005] sha256:5cc2243f4ce13b5bfb84c5723743e8a2f21092fcc6803118ce41ed96b6360e20 - 95.02% (76.5 MB)

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

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

[#008] sha256:f81befaca7b874efdbb290f75fbe2373cd66bd6091b2b02a9df1971a83cffe56 - 0.0% (175 Bytes)

[#009] sha256:c91f8db1422582f0fe407c5532a4a825b2117982d13a6fee1380fefd5644f18d - 0.01% (5.79 KB)

[#010] sha256:977f54a3bbbae23311c0e5d29c2bd54a87320d4f188c9637dade8ccb94c701a7 - 0.0% (189 Bytes)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.17

2025-06-06 18:27:47 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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.9

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-06-06 18:27:47 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-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-06-06 18:27:47 UTC

Size

101 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.17

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

07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

PG_VERSION

16.9


Layers

[#000] sha256:6e771e15690e2fabf2332d3a3b744495411d6e0b00b2aea64419b58b0066cf81 - 3.78% (3.81 MB)

[#001] sha256:6d03f0f2d53b2dbd9eb483b0627ccff77722b5cd779ea77b53d0c300329320e0 - 0.0% (974 Bytes)

[#002] sha256:7253dfc6422805ac3c15fda3414a5e3fb679f89df5a9ecfb3b80db788b4e8dcf - 1.0% (1 MB)

[#003] sha256:61551669052ed2146736a74f619b32861f7a06f55d31c3d1549cee4f983ee9f5 - 0.0% (177 Bytes)

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

[#005] sha256:c9d81a483d3df409a38c9a58f1a0aed7d439f67b1200e39485beee626b61b66e - 95.2% (95.8 MB)

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

[#007] sha256:87bf0104df243dee169214d10450e60bbead63a9ab796a76d03c6fbf703b7156 - 0.0% (127 Bytes)

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

[#009] sha256:0034f883848a703d2f98cbd204e5c5e80099e431a789f04aad4230128cff7427 - 0.01% (5.79 KB)

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


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.17

2025-06-06 18:27:47 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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.9

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-06-06 18:27:47 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-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-06-06 18:27:47 UTC

Size

89.1 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.17

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

07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

PG_VERSION

16.9


Layers

[#000] sha256:184b14480d317057da092a0994ad6baf4b2df588108f43969f8fd56f021af2c6 - 3.83% (3.41 MB)

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

[#002] sha256:6f9154ad7d6d2b8215d6e5c17c7126973ef555179af7445e48dd15afbc769dab - 1.11% (1020 KB)

[#003] sha256:3ccfd7f83cae351ae5c57d06c0bfe732186b0ac067d40dea3c3e0582e0fb1f0d - 0.0% (177 Bytes)

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

[#005] sha256:8ab55f4f8695f7af8436be01001a03cb15f58c0c9464ccd2f9bb32f86c075608 - 95.04% (84.7 MB)

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

[#007] sha256:ea9644199d3d6d9851b9c09e9bc4e94a809636aefdd1f56d853fd048c0e7a055 - 0.0% (127 Bytes)

[#008] sha256:c738039f1149ef72c67b3225b84dad6e70f1369da8b1add1cd1ea494afa28f4d - 0.0% (171 Bytes)

[#009] sha256:81f757b4d10df339aabd6116542d88412b87af564fa76062d1800ca939af44e9 - 0.01% (5.8 KB)

[#010] sha256:7461703b49227dbad176f6eb9ba228c901aa4a2e386518d33d13cf3ef4ccaa91 - 0.0% (189 Bytes)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.17

2025-06-06 18:27:47 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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.9

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-06-06 18:27:47 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-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-06-06 18:27:47 UTC

Size

105 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.17

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

07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

PG_VERSION

16.9


Layers

[#000] sha256:7df33f7ad8beb367ac09bdd1b2f220db3ee2bbdda14a6310d1340e5628b5ba88 - 3.06% (3.2 MB)

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

[#002] sha256:8288dcf7d76e423837c7b22aaeabb3ffce916e0d4021374ef1030da4496878fb - 0.99% (1.04 MB)

[#003] sha256:6311d87ca151ab54043044f3c5d418b5c2b3511bcfb121e1b721202d992188d6 - 0.0% (178 Bytes)

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

[#005] sha256:63373e41fd10d68c032f61cb32b8a3edf39aa2d27391425b74f648deaa257158 - 95.94% (100 MB)

[#006] sha256:eebdb60b3d53498ee415df022e443470f029b1ab3a36541b846fbbb66859b92c - 0.01% (9.35 KB)

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

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

[#009] sha256:9548af743e096effd0ffd9d9d12d93d3f4da27519db09743de44d62230ffd81a - 0.01% (5.8 KB)

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


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.17

2025-06-06 18:27:47 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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.9

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-06-06 18:27:47 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-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

Details
Created

2025-06-06 18:27:47 UTC

Size

113 MB

Content Digest
Environment
DOCKER_PG_LLVM_DEPS

llvm19-dev clang19

GOSU_VERSION

1.17

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

07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

PG_VERSION

16.9


Layers

[#000] sha256:c1a599607158512214777614f916f8193d29fd34b656d47dfc26314af01e2af4 - 2.93% (3.31 MB)

[#001] sha256:ca41bc03c66f2db51ee7ccecf095cd1dba41a34a6d831663f4096bc1e32f4c79 - 0.0% (974 Bytes)

[#002] sha256:1e901e5ec0b869a1daf11fbf0499629c10c3fa04e7ffc3eb1336b6cb3d9dbb45 - 0.92% (1.03 MB)

[#003] sha256:1691c9b6b947561e411eece26e4b4a00848bdc0c698d4a0a32a9f9eb44f0cc75 - 0.0% (178 Bytes)

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

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

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

[#007] sha256:76a2ba5fa2a0c0b269a66bea6229b214123f13590177fd9b1e54cbca5965f218 - 0.0% (126 Bytes)

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

[#009] sha256:c904daebc2ce92f61bdd81a72745d99b5e7eb05c47521b861a305370df108bee - 0.01% (5.79 KB)

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


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.17

2025-06-06 18:27:47 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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.9

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PG_SHA256=07c00fb824df0a0c295f249f44691b86e3266753b380c96f633c3311e10bd005

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV DOCKER_PG_LLVM_DEPS=llvm19-dev clang19

2025-06-06 18:27:47 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-ldap --with-tcl --with-perl --with-python --with-openssl --with-libxml --with-libxslt --with-icu --with-llvm --with-lz4 --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-06-06 18:27:47 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-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

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

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-06-06 18:27:47 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]