cnpg-extension-image/postgres-dev (sha256:6acbb9fa713b2d2d4939c605d3e13becde58e6825e29e97e7d18f6e758682893)

Published 2026-07-17 02:43:13 +02:00 by AzSiAz in AzSiAz/cnpg-extension-image

Installation

docker pull forge.netserv.fr/azsiaz/cnpg-extension-image/postgres-dev@sha256:6acbb9fa713b2d2d4939c605d3e13becde58e6825e29e97e7d18f6e758682893
sha256:6acbb9fa713b2d2d4939c605d3e13becde58e6825e29e97e7d18f6e758682893

About this package

A minimal PostgreSQL 18.4 container image

Image layers

# debian.sh --arch 'arm64' out/ 'bookworm' '@1782172800'
ARG PG_VERSION=18.4
ARG PG_MAJOR=18
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/18/bin
RUN |2 PG_VERSION=18.4 PG_MAJOR=18 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends postgresql-common ca-certificates gnupg && /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y -c "${PG_MAJOR}" && apt-get install -y --no-install-recommends -o Dpkg::::="--force-confdef" -o Dpkg::::="--force-confold" postgresql-common && sed -ri 's/#(create_main_cluster) .*$/\1 = false/' /etc/postgresql-common/createcluster.conf && apt-get install -y --no-install-recommends libsasl2-modules libldap-common -o Dpkg::::="--force-confdef" -o Dpkg::::="--force-confold" "postgresql-${PG_MAJOR}=${PG_VERSION}*" && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && rm -rf /var/lib/apt/lists/* /var/cache/* /var/log/* # buildkit
RUN |2 PG_VERSION=18.4 PG_MAJOR=18 /bin/sh -c usermod -u 26 postgres # buildkit
USER 26
ARG PG_MAJOR
USER 0
ENV GDAL_DATA=/usr/share/gdal
ENV PROJ_DATA=/usr/share/proj
ENV LD_LIBRARY_PATH=/usr/local/lib
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c set -eu if [ -d /extension/lib ]; then find /extension/lib -mindepth 1 -maxdepth 1 ! -name bitcode -exec cp -a {} /usr/lib/postgresql/${PG_MAJOR}/lib/ \; fi if [ -d /extension/lib/bitcode ]; then mkdir -p /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode cp -a /extension/lib/bitcode/. /usr/lib/postgresql/${PG_MAJOR}/lib/bitcode/ fi if [ -d /extension/share/extension ]; then cp -a /extension/share/extension/. /usr/share/postgresql/${PG_MAJOR}/extension/ fi if [ -d /extension/share/contrib ]; then mkdir -p /usr/share/postgresql/${PG_MAJOR}/contrib cp -a /extension/share/contrib/. /usr/share/postgresql/${PG_MAJOR}/contrib/ fi if [ -d /extension/share/gdal ]; then mkdir -p /usr/share/gdal cp -a /extension/share/gdal/. /usr/share/gdal/ fi if [ -d /extension/share/proj ]; then mkdir -p /usr/share/proj cp -a /extension/share/proj/. /usr/share/proj/ fi if [ -d /extension/system ]; then cp -a /extension/system/. /usr/local/lib/ fi # buildkit
COPY postgresql.conf /usr/local/share/postgres-dev/postgresql.conf # buildkit
COPY init-extensions.sql /usr/local/share/postgres-dev/init-extensions.sql # buildkit
COPY dev-entrypoint.sh /usr/local/bin/dev-entrypoint.sh # buildkit
RUN |1 PG_MAJOR=18 /bin/sh -c ldconfig && chmod +x /usr/local/bin/dev-entrypoint.sh && mkdir -p /var/lib/postgresql/data /usr/local/share/postgres-dev && chown -R postgres:postgres /var/lib/postgresql # buildkit
USER 26
ENTRYPOINT ["dev-entrypoint.sh"]
CMD ["postgres"]

Labels

Key Value
org.opencontainers.image.authors The CloudNativePG Contributors
org.opencontainers.image.base.digest sha256:60eac759739651111db372c07be67863818726f754804b8707c90979bda511df
org.opencontainers.image.base.name docker.io/library/debian:bookworm-slim
org.opencontainers.image.created 2026-07-06T09:24:16Z
org.opencontainers.image.description A minimal PostgreSQL 18.4 container image
org.opencontainers.image.documentation https://github.com/cloudnative-pg/postgres-containers
org.opencontainers.image.licenses Apache-2.0
org.opencontainers.image.revision 9461c08b52d4c3ff8eb43173ddffb9d3f8cefa17
org.opencontainers.image.source https://forge.netserv.fr/AzSiAz/cnpg-extension-image
org.opencontainers.image.title CloudNativePG PostgreSQL 18.4 minimal
org.opencontainers.image.url https://github.com/cloudnative-pg/postgres-containers
org.opencontainers.image.vendor AzSiAz
org.opencontainers.image.version 18.4
Details
Container
2026-07-17 02:43:13 +02:00
0
OCI / Docker
linux/arm64
The CloudNativePG Contributors
Apache-2.0
140 MiB
Versions (54) View all