PostgreSQL with PGroonga (full-text search) and pgvector (vector similarity) preinstalled.
Built from the official postgres image using Debian/PGDG extension packages. Multi-arch: linux/amd64, linux/arm64.
Source: github.com/cubeplexai/postgresql-pgroonga-pgvector
Also published on GHCR: ghcr.io/cubeplexai/postgresql-pgroonga-pgvector
| Project | One-liner | Links |
|---|---|---|
| CubePlex | AI agent workspace for teams — collaborate with agents that use tools, sandboxes, and shared context. | Website · GitHub |
| CubePi | Async-first Python agent kernel (inspired by Pi) for coding agents, tools, and continuous sessions. | Website · GitHub |
docker run --rm -e POSTGRES_PASSWORD=postgres -p 5432:5432 \
cubeplex/postgresql-pgroonga-pgvector:latestEnable the extensions:
CREATE EXTENSION IF NOT EXISTS pgroonga;
CREATE EXTENSION IF NOT EXISTS vector;services:
postgresql:
image: cubeplex/postgresql-pgroonga-pgvector:latest
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
volumes:
- pgdata:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
volumes:
pgdata:| Tag | Meaning |
|---|---|
latest |
Latest build from main |
18 |
Postgres major |
18.4 |
Postgres patch version |
18.4-pgroongaX.Y.Z-pgvectorA.B.C |
Full stack pin (package versions at build time) |
sha-<short> |
Git commit |
v* |
Git release tag (when present) |
Recommended for production: pin the full composite tag, for example:
cubeplex/postgresql-pgroonga-pgvector:18.4-pgroonga4.0.8-pgvector0.8.6
| Component | Source |
|---|---|
| PostgreSQL | Official postgres image |
| PGroonga | postgresql-*-pgdg-pgroonga (Groonga apt) |
| pgvector | postgresql-*-pgvector (PGDG) |
Configuration and data layout match the official Postgres image (POSTGRES_* env vars, /var/lib/postgresql, entrypoint scripts).
Same as the official Postgres image:
| Variable | Description |
|---|---|
POSTGRES_PASSWORD |
Superuser password (required unless trust auth) |
POSTGRES_USER |
Superuser name (default postgres) |
POSTGRES_DB |
Default database (default: same as user) |
POSTGRES_INITDB_ARGS |
Extra initdb arguments |
PGDATA |
Data directory |
CREATE EXTENSION IF NOT EXISTS pgroonga;
CREATE EXTENSION IF NOT EXISTS vector;
-- Full-text search
CREATE TABLE docs (
id bigserial PRIMARY KEY,
body text
);
CREATE INDEX docs_body_pgroonga ON docs USING pgroonga (body);
-- Vectors
CREATE TABLE items (
id bigserial PRIMARY KEY,
embedding vector(3)
);
CREATE INDEX items_embedding_ivfflat ON items
USING ivfflat (embedding vector_l2_ops) WITH (lists = 100);Images are built automatically from the GitHub repository on every push to main (and on tags), then pushed here and to GHCR.
To bump the Postgres base version, edit versions.env in the source repo and merge to main.
PostgreSQL and the packaged extensions retain their upstream licenses. See the source repository for details.