Unified PostgresOps Control Plane: run with Postgres + Redis (see Overview).
126
PostgresOps is an API-first control plane for PostgreSQL fleet operations. This image ships a single production-style container: nginx serves the React console and proxies /api, /docs, /redoc, /openapi.json, and /metrics to FastAPI (Uvicorn) on the same host.
Use it when you want the web UI and REST API together without building Node or Python on your machines—pull, wire catalog Postgres + Redis, and go.
| Layer | Role |
|---|---|
| nginx | Static UI + reverse proxy to the API |
| FastAPI | Control plane REST API, OpenAPI docs, health endpoints |
| React (built) | Operations console (Vite production build) |
The image does not bundle a PostgreSQL server for your fleet data. For the recommended local/lab stack, run this image next to Postgres 17 (catalog DB) and Redis. A reference stack is docker-compose.hub.yml in the PostgresOps Control Plane source tree (postgresops-enterprise/docker/), alongside env.hub.example for DOCKERHUB_IMAGE.
latest — current stable pointer (pin a version tag for reproducible deploys).0.1.0 (and future x.y.z) — semver tags you can pin in production.From a checkout of the project, in postgresops-enterprise/:
cp docker/env.hub.example docker/.env.hub
# DOCKERHUB_IMAGE defaults to infrayantra/postgresops-control-plane:latest
docker compose -f docker/docker-compose.hub.yml --env-file docker/.env.hub up -d --pull always
Then open http://localhost:8080 (UI + API) and http://localhost:8080/docs (Swagger).
docker pull infrayantra/postgresops-control-plane:latest
You still need Postgres and Redis reachable from the container, plus env vars (see below). Raw docker run is possible but Compose is the supported path for a full stack.
| Variable | Purpose |
|---|---|
POSTGRESOPS_DATABASE_URL | Async SQLAlchemy URL, e.g. postgresql+asyncpg://user:pass@host:5432/postgresops |
POSTGRESOPS_REDIS_URL | Redis for sessions/cache, e.g. redis://host:6379/0 |
POSTGRESOPS_JWT_SECRET | Strong secret for signing JWTs (set in real deployments) |
POSTGRESOPS_CORS_ORIGINS | Browser origins allowed for CORS (e.g. http://localhost:8080) |
Optional: POSTGRESOPS_ENV, POSTGRESOPS_BUILD_ID, POSTGRESOPS_LOG_JSON, OpenTelemetry endpoints—see project examples/env.example.
8080:80 on the host.latest as a moving target; use semver tags when you need repeatable rollouts.Software license and support channels follow the upstream project that publishes this image. For build recipes and runbooks, use the repository that contains docker/Dockerfile.unified.
Maintainer: infrayantra on Docker Hub.
Content type
Image
Digest
sha256:166a42fc5…
Size
92.4 MB
Last updated
5 months ago
docker pull infrayantra/postgresops-control-plane