dhi.io/spilo
HA PostgreSQL appliance with Patroni, a multi-major PostgreSQL bundle, and WAL-G backups.
pushed 4 hours ago
linux/amd64, linux/arm64
328.22 MB
for linux/amd64
578
for linux/amd64
Active support
patroni, patronictl, postgres, psql, pg_upgrade, wal-g, pgbouncer, pgqd
Build Level 3
Tamper-evident proof of how and from what sources this image was built. Build Level 3 is the highest the SLSA build track defines.
CycloneDX SBOM + SPDX SBOM
A software bill of materials in both CycloneDX and SPDX formats so it drops straight into your existing tooling. Audit exactly what you're shipping.
A Vulnerability Exploitability exchange document, Docker's assessment of which CVEs actually affect this image and which don't apply, so you can focus on real risk instead of chasing false positives.
Available
A link to everything used to build the image, package source code, Git repos, and build files, so you can audit or reproduce the build and stay compliant with open source licenses.
Every known vulnerability in this image, shown in full rather than hidden. The VEX data flags which ones actually apply, so you can tell real exposure from noise before you ship.
Exactly what changed in this build, down to the package bumps and fixes behind the version you're pulling.
Verifies no keys, tokens, or credentials were accidentally baked into the image.
The image layers were scanned for known malware signatures before publishing.
Spilo is Zalando's high-availability PostgreSQL appliance: one image that combines
Patroni for cluster management and automatic failover, a bundle of PostgreSQL
major versions for in-place pg_upgrade migrations, WAL-G for continuous archiving
and base backups, and the PostgreSQL extension set the Zalando fleet runs in production (PostGIS, TimescaleDB, pgvector,
pg_partman, pglogical, pgaudit, and many more). It is the image the
Zalando postgres-operator deploys, and it also runs standalone against
an etcd, Consul, or ZooKeeper DCS.
This image builds Spilo from the maintained 4.1 source line with PostgreSQL 17 as the primary version and PostgreSQL 14,
15, and 16 bundled for in-place major upgrades. The PostgreSQL servers, pgbouncer, and WAL-G install from Docker
Hardened packages, and every extension is compiled from pinned upstream sources against those servers. The older majors
exist as pg_upgrade sources and follow upstream's five-year support policy (PostgreSQL 14 ends in November 2026).
Deviations from the upstream ghcr.io/zalando/spilo-* images:
spilo-17 repository ends at Spilo 4.0-p3).USE_OLD_LOCALES is unsupported (see the migration
notes in the guides).chrt/renice carry no file capabilities; grant CAP_SYS_NICE at runtime if you want Patroni real-time scheduling.postgres user (uid 70) by default instead of root.Docker Hardened Images are built to meet the highest security and compliance standards. They provide a trusted foundation for containerized workloads by incorporating security best practices from the start.
These images are published with near-zero known CVEs, include signed provenance, and come with a complete Software Bill of Materials (SBOM) and VEX metadata. They're designed to secure your software supply chain while fitting seamlessly into existing Docker workflows.
PostgreSQL® is a trademark of PostgreSQL Community Association of Canada. TimescaleDB® is a trademark of Timescale, Inc. All rights in those marks are reserved to their respective owners. Any use by Docker is for referential purposes only and does not indicate sponsorship, endorsement, or affiliation.
This listing is prepared by Docker. All third-party product names, logos, and trademarks are the property of their respective owners and are used solely for identification. Docker claims no interest in those marks, and no affiliation, sponsorship, or endorsement is implied.