pglayers
The official PostgreSQL Docker images ship without extensions. Every time you need pgvector, PostGIS, or pg_cron, you're stuck manually installing dependencies, compiling from source, or settling for third-party images that bundle a fixed set of extensions.
pglayers fixes this. It's both a ready-to-use PostgreSQL distribution with extensions pre-installed and a tool to build your own custom image with exactly the extensions you need -- all on top of the official postgres Docker images. You don't need to figure out how to build PostgreSQL extensions, install dependencies, or set up compilers.
Each extension is published as a minimal Docker image layer containing only its binaries. You stack them on top of the official postgres image using COPY --from -- one line per extension, no compilation.
Quick start
Option 1: Ready-to-use images
Pre-built combined images with shared_preload_libraries already configured:
# All 53 extensions docker run -d -e POSTGRES_PASSWORD=secret ghcr.io/pglayers/pglayers-full:17 # Azure Database for PostgreSQL compatible (28 extensions) docker run -d -e POSTGRES_PASSWORD=secret ghcr.io/pglayers/pglayers-azure:17
Available profiles: full , azure . Each is published for PG 17, 18, and 19. See Profiles for details and how to create custom ones.
Note: Vendor profiles (e.g., azure ) are a best-effort approximation for local development. They are not a replacement for the actual managed service -- extension versions, configuration defaults, and platform-specific behavior may differ. Use them to develop and test locally, not to replicate production exactly.
... continue reading