Namespace
ferretdb
Image / Tag
postgres-documentdb:16-0.102.0
Content Digest
sha256:08d642d1c8baa3cb435bc6cf1a4e31d652ba55cc5d32320398133be5c4627b2f
Details
Created

2025-04-02 14:09:12 UTC

Size

467 MB

Content Digest
Labels
  • org.opencontainers.image.description
    PostgreSQL with DocumentDB extension
  • org.opencontainers.image.source
    https://github.com/FerretDB/documentdb
  • org.opencontainers.image.title
    PostgreSQL+DocumentDB
  • org.opencontainers.image.url
    https://www.ferretdb.com/
  • org.opencontainers.image.vendor
    FerretDB Inc.

Environment
GOSU_VERSION

1.17

LANG

en_US.utf8

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/16/bin

PGDATA

/var/lib/postgresql/data

PG_MAJOR

16

PG_VERSION

16.8-1.pgdg120+1


Layers

[#000] sha256:6e909acdb790c5a1989d9cfc795fda5a246ad6664bb27b5c688e2b734b2c5fad - 5.76% (26.9 MB)

[#001] sha256:f08f4f7337446f0086cea0488e9285a97b55cc276806a4a25f56d12d013e4d2c - 0.0% (1.14 KB)

[#002] sha256:d6a971e14c33e1e56b92420f05353e0506edd88d9b2bc60ef5a95d680d1d2afd - 0.93% (4.32 MB)

[#003] sha256:1e02c3dbd6d6bab1e5fcddb292660b2cdec8d3216d8bdf029c1cc07e444e988f - 0.3% (1.38 MB)

[#004] sha256:c61d840bd05b4031e539c3a85aaa5fe9508742d6ce91fe47680aff6d5acc6e16 - 1.65% (7.69 MB)

[#005] sha256:8f0eb055f60884ba37b0c54558c500b4ac5f4c96bf8c7454d8464c41157d65ca - 0.24% (1.14 MB)

[#006] sha256:79b550ea0e2d46076b1c63848b2c5f75d3ea3a23775dbed6b5381c54c43179fc - 0.0% (116 Bytes)

[#007] sha256:79a36157952f69f267cfedf28c61c17773d44dc8e3d1b51989cfe7cb2c5e828a - 0.0% (3.07 KB)

[#008] sha256:23518ca81a96ef3d242305c68f59519f59708c58e77c7eb783760e649a2bcbd6 - 22.81% (107 MB)

[#009] sha256:a3c45d423b38d6dbdb7f948642681959a1055e33ab376a879c4ee52ea8b109da - 0.0% (9.68 KB)

[#010] sha256:334091998ccfc62b0c3940c9dfb586c6839fdab24da1db016b5465378cfb6b3c - 0.0% (129 Bytes)

[#011] sha256:b5fbd139f46a6f90b8574ce0221b38f9c22e5a948bf631e97f1eedf0d39f7b71 - 0.0% (168 Bytes)

[#012] sha256:fe020973073cf8eaadea5eca57f09b4acd7f2d8ba1ff393b68caa0753d4207d5 - 0.0% (5.34 KB)

[#013] sha256:f02d133944fb68a3c34ec862a2a771c1f2775751d649584e5aaeddd854d46bb3 - 0.0% (185 Bytes)

[#014] sha256:6c1eabe534557c8d45c8b0335d4a1e39c73696775ea7ba9deb703e62989a1590 - 66.9% (313 MB)

[#015] sha256:60e1dc9e0f77c7c347c4f7b9f5f4cf94f2c6b691715e79ac77ff3af8e92f3405 - 1.41% (6.59 MB)

[#016] sha256:a0ad9bb90bc9688e7b940b93f3219db13a3b7aa07ce559dba94bb2ca0a83e081 - 0.0% (421 Bytes)


History
2025-02-27 00:53:12 UTC (debuerreotype 0.15)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600'

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; groupadd -r postgres --gid=999; useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql # buildkit

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends gnupg less ; rm -rf /var/lib/apt/lists/* # buildkit

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

ENV GOSU_VERSION=1.17

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends ca-certificates wget; rm -rf /var/lib/apt/lists/*; 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; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; if [ -f /etc/dpkg/dpkg.cfg.d/docker ]; then grep -q '/usr/share/locale' /etc/dpkg/dpkg.cfg.d/docker; sed -ri '/\/usr\/share\/locale/d' /etc/dpkg/dpkg.cfg.d/docker; ! grep -q '/usr/share/locale' /etc/dpkg/dpkg.cfg.d/docker; fi; apt-get update; apt-get install -y --no-install-recommends locales; rm -rf /var/lib/apt/lists/*; echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen; locale-gen; locale -a | grep 'en_US.utf8' # buildkit

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.utf8

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends libnss-wrapper xz-utils zstd ; rm -rf /var/lib/apt/lists/* # buildkit

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

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

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; key='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8'; export GNUPGHOME="$(mktemp -d)"; mkdir -p /usr/local/share/keyrings/; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; gpg --batch --export --armor "$key" > /usr/local/share/keyrings/postgres.gpg.asc; gpgconf --kill all; rm -rf "$GNUPGHOME" # buildkit

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

ENV PG_MAJOR=16

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/16/bin

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

ENV PG_VERSION=16.8-1.pgdg120+1

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; export PYTHONDONTWRITEBYTECODE=1; dpkgArch="$(dpkg --print-architecture)"; aptRepo="[ signed-by=/usr/local/share/keyrings/postgres.gpg.asc ] http://apt.postgresql.org/pub/repos/apt/ bookworm-pgdg main $PG_MAJOR"; case "$dpkgArch" in amd64 | arm64 | ppc64el | s390x) echo "deb $aptRepo" > /etc/apt/sources.list.d/pgdg.list; apt-get update; ;; *) echo "deb-src $aptRepo" > /etc/apt/sources.list.d/pgdg.list; savedAptMark="$(apt-mark showmanual)"; tempDir="$(mktemp -d)"; cd "$tempDir"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev; echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list; _update_repo() { dpkg-scanpackages . > Packages; apt-get -o Acquire::GzipIndexes=false update; }; _update_repo; nproc="$(nproc)"; export DEB_BUILD_OPTIONS="nocheck parallel=$nproc"; apt-get build-dep -y postgresql-common pgdg-keyring; apt-get source --compile postgresql-common pgdg-keyring; _update_repo; apt-get build-dep -y "postgresql-$PG_MAJOR=$PG_VERSION"; apt-get source --compile "postgresql-$PG_MAJOR=$PG_VERSION"; apt-mark showmanual | xargs apt-mark auto > /dev/null; apt-mark manual $savedAptMark; ls -lAFh; _update_repo; grep '^Package: ' Packages; cd /; ;; esac; apt-get install -y --no-install-recommends postgresql-common; sed -ri 's/#(create_main_cluster) .*$/\1 = false/' /etc/postgresql-common/createcluster.conf; apt-get install -y --no-install-recommends "postgresql-$PG_MAJOR=$PG_VERSION" ; rm -rf /var/lib/apt/lists/*; if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove; rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi; find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +; postgres --version # buildkit

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; dpkg-divert --add --rename --divert "/usr/share/postgresql/postgresql.conf.sample.dpkg" "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample"; cp -v /usr/share/postgresql/postgresql.conf.sample.dpkg /usr/share/postgresql/postgresql.conf.sample; ln -sv ../postgresql.conf.sample "/usr/share/postgresql/$PG_MAJOR/"; sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample # buildkit

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

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

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

ENV PGDATA=/var/lib/postgresql/data

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

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

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

VOLUME [/var/lib/postgresql/data]

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

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

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

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

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGINT

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

EXPOSE map[5432/tcp:{}]

2025-02-27 00:53:12 UTC (buildkit.dockerfile.v0)

CMD ["postgres"]

2025-04-02 14:08:15 UTC (buildkit.dockerfile.v0)

ARG POSTGRES_VERSION=16

2025-04-02 14:08:15 UTC (buildkit.dockerfile.v0)

ARG DOCUMENTDB_VERSION=0.102.0~ferretdb~2.1.0

2025-04-02 14:08:15 UTC (buildkit.dockerfile.v0)

RUN |2 POSTGRES_VERSION=16 DOCUMENTDB_VERSION=0.102.0~ferretdb~2.1.0 /bin/sh -c set -ex apt update apt upgrade -y apt install -y \ postgresql-${POSTGRES_VERSION} \ postgresql-${POSTGRES_VERSION}-cron \ postgresql-${POSTGRES_VERSION}-pgvector \ postgresql-${POSTGRES_VERSION}-postgis-3 \ postgresql-${POSTGRES_VERSION}-rum \ postgresql-server-dev-${POSTGRES_VERSION} # buildkit

2025-04-02 14:09:12 UTC (buildkit.dockerfile.v0)

RUN |2 POSTGRES_VERSION=16 DOCUMENTDB_VERSION=0.102.0~ferretdb~2.1.0 /bin/sh -c set -ex cd /src cp packaging/deb12-postgresql-${POSTGRES_VERSION}-documentdb_${DOCUMENTDB_VERSION}_amd64.deb /tmp/documentdb.deb dpkg -i /tmp/documentdb.deb rm /tmp/documentdb.deb # buildkit

2025-04-02 14:09:12 UTC (buildkit.dockerfile.v0)

RUN |2 POSTGRES_VERSION=16 DOCUMENTDB_VERSION=0.102.0~ferretdb~2.1.0 /bin/sh -c set -ex cd /src cp ferretdb_packaging/10-preload.sh ferretdb_packaging/20-install.sql /docker-entrypoint-initdb.d/ # buildkit

2025-04-02 14:09:12 UTC (buildkit.dockerfile.v0)

WORKDIR /

2025-04-02 14:09:12 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=PostgreSQL+DocumentDB

2025-04-02 14:09:12 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.description=PostgreSQL with DocumentDB extension

2025-04-02 14:09:12 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/FerretDB/documentdb

2025-04-02 14:09:12 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.url=https://www.ferretdb.com/

2025-04-02 14:09:12 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.vendor=FerretDB Inc.

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete