cnpg-extension-image/postgres-dev (sha256:1fc9af5439465c28b8c67aa9ebe6133a7991701b2a05381c64dc00feeb5ba3ca)
Installation
docker pull forge.netserv.fr/azsiaz/cnpg-extension-image/postgres-dev@sha256:1fc9af5439465c28b8c67aa9ebe6133a7991701b2a05381c64dc00feeb5ba3casha256:1fc9af5439465c28b8c67aa9ebe6133a7991701b2a05381c64dc00feeb5ba3caAbout 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 |
| 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 | eb01120eca858f9ad2e5c4267c43d9924708dcbf |
| 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
2026-07-16 10:22:47 +02:00
Versions (54)
View all
Container
0
OCI / Docker
linux/arm64
The CloudNativePG Contributors
Apache-2.0
136 MiB
pg18-trixie-202607280509
2026-07-28
pg18-trixie
2026-07-28
pg18-bookworm-202607280509
2026-07-28
pg18-bookworm
2026-07-28
pg18-bookworm-202607272308
2026-07-28