Sign inSign up

readystack/postgresql

By readystack

•Updated about 17 hours ago

PostgreSQL: open-source object-relational SQL database. Signed; SBOM and SLSA v1 provenance.

Image
Databases & storage
0

5.0K

readystack/postgresql repository overview

⁠PostgreSQL

Signed: cosign SBOM: SPDX attached Provenance: SLSA v1

readystack/postgresql:18.6-CE-ubuntu24.04-r5

Source, recipe and records

A cosign-signed build of github.com/postgres/postgres REL_18_6 (PostgreSQL 18.6, PostgreSQL License), built clean-room from official upstream source by ReadyStack⁠.

⁠Who uses it and why

Who: Developers and database administrators who need a reliable relational database for applications of any size.

Why: PostgreSQL is an open-source object-relational database that uses and extends SQL, known for reliability, data integrity and extensibility, with add-ons such as geospatial extensions.

Use case: A team builds a booking application in which double bookings must never happen. PostgreSQL's transactions make each booking all-or-nothing, an exclusion constraint rejects overlapping bookings, and the same database stores flexible JSON details and answers the reporting queries.

About the upstream project, written from its own description: https://www.postgresql.org/about/⁠

⁠What you get

Signature, user and attestations below were measured on the published digest sha256:a576eadc6e06b10116b601984c85fc7648b0da1221ee5d3d65e95f7069521897 on 2026-11-05.

  • Scan scores — we scan every image we publish every day (an SBOM made with syft, vulnerabilities matched with grype, scored with cerodeo-v1, the rubric ce.rodeo published until 2026-10-26) and record each scan with how its score was derived. This release's first and latest scan: https://readystack.dev/products/postgresql⁠
  • ReadyStack release check — passed at release on 2026-11-05: no fixable critical or high vulnerability (Docker Scout and OSV), a non-root user, SBOM and provenance attached. This is ReadyStack's own test, not a Docker grade; vulnerabilities published since then are in today's result at https://readystack.dev/queue⁠.
  • Signed — cosign signature by the ReadyStack release key (fingerprint 04daa92344a52dbc) on this release's index digest sha256:a576eadc6e06b10116b601984c85fc7648b0da1221ee5d3d65e95f7069521897; verify with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/postgresql:18.6-CE-ubuntu24.04-r5.
  • Attestations — An SPDX SBOM and SLSA v1 build provenance are attached to this digest.
  • Runs as a non-root user (postgres).
  • Built from source by ReadyStack.

⁠Which tag should I pull?

This image follows the ReadyStack release-tag convention:

  • The current release is 18.6-CE-ubuntu24.04-r5 — the release listed at readystack.dev. Release tags use the pattern <upstream-version>-CE-<base-os>-r<N>; the current one is signed, attested (SBOM + provenance), and is provided under the ReadyStack Agreement⁠.

  • Earlier release tags (an older version or revision in the same pattern) are superseded. They stay pullable so existing deployments can pin them, but they are no longer re-graded, and fixes appear only in newer releases: move to the current release. For a superseded release's build kit, ask support.

  • Release tags never move, so pulling the same tag again never changes the image. To be offered each new release automatically (a new revision r<N+1>, or a new upstream version), use the ReadyStack Renovate preset: https://readystack.dev/updates.html⁠

  • Any tag beginning with internal- is an engineering-pipeline artifact published for build observability. It is unsupported, may change or disappear without notice, and must not be used in production.

# ✓ current release
docker pull readystack/postgresql:18.6-CE-ubuntu24.04-r5

# ✗ unsupported (do not pull)
docker pull readystack/postgresql:internal-...

This release is signed; verify it with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/postgresql:18.6-CE-ubuntu24.04-r5 (the signature is recorded in the public Sigstore transparency log). Support: [email protected]⁠, as set out in the ReadyStack Agreement⁠.

⁠Deployment

Single container. A self-contained PostgreSQL 18.6 object-relational database server, compiled from source (./configure && make world-bin && make install-world-bin). The image IS the complete running instance — PostgreSQL itself IS the database, so there is NO external database and NO sidecar. On first boot the entrypoint runs initdb to create the cluster under PGDATA (/var/lib/postgresql/data), then runs postgres in the foreground. Runs fully NON-ROOT as the postgres user.

Secrets go in an env file that only you can read, not on the command line, and passwords that only set up the first start come out of it after setup. Create postgresql.env with install -m 600 /dev/null postgresql.env, then write these lines into it with an editor, with your own values (a value typed into a shell stays in its history). Docker reads each line as written: no quotes around a value, no spaces around =.

# First start only: POSTGRES_PASSWORD sets the postgres superuser's password when the first start initialises an empty volume. Remove this line after setup and recreate the container; the superuser keeps the password.
POSTGRES_PASSWORD=YOUR_SECRET
docker run -d --name postgresql --env-file ./postgresql.env -p 5432:5432 -v pgdata:/var/lib/postgresql/data readystack/postgresql:18.6-CE-ubuntu24.04-r5

Once the first start has initialised the cluster, remove the POSTGRES_PASSWORD line from postgresql.env and recreate the container on the same volume (docker stop -s SIGINT postgresql and docker rm postgresql, then the docker run command again): the entrypoint skips initialisation when the volume has a PG_VERSION file, so the server starts, the postgres superuser keeps its password, and the password is no longer in the container's environment (tested).

⁠The full ReadyStack Hermetic Build Kit

The complete --network=none build kit for this image — plus admin/DB/API handbooks, the build's validation records, and its build provenance records — is a free download for any registered account at readystack.dev/products/postgresql⁠. A clean-room rebuild from this release's archive on an egress-blocked host reproduced its linux/amd64 digest sha256:2933f4c4101fa893263f3362467440c7351a8a2b2737a1500198d4da480392fe on 2026-11-05.

⁠Trademarks

This image contains PostgreSQL®.

Postgres and PostgreSQL are registered trademarks of the PostgreSQL Community Association of Canada.

ReadyStack is not affiliated with or endorsed by PostgreSQL Community Association of Canada.

The name identifies the software in this image; it is built from github.com/postgres/postgres source at REL_18_6 (commit 724edf9bde9d). ReadyStack does not modify its source.

ReadyStack uses no project logos.

Trademark policy: https://www.postgresql.org/about/policies/trademarks/⁠ (read 2026-11-04).

— ReadyStack · readystack.dev

Tag summary

Content type

Image

Digest

sha256:a576eadc6…

Size

64.3 MB

Last updated

about 17 hours ago

docker pull readystack/postgresql:18.6-CE-ubuntu24.04-r5