PGUI
Project type: Open source
Most Postgres GUIs want a desktop install, a saved-connections file, and write access. PGUI is the opposite: one Docker container, connection details as env vars, read-only enforced at the pool, and auto-discovery of every non-template database on every server you give it.
The Challenge
Engineers want a quick browse of a Postgres instance without installing pgAdmin or risking accidental writes. Multi-server setups — staging, production, analytics — need one UI that covers all of them. New joiners shouldn't have to configure anything to get started.
Our Approach
- Next.js 16 App Router with Server Components running all database queries server-side — no credentials ever reach the browser
- All configuration via environment variables (DB_1_HOST, DB_1_USERNAME, …) — the same image works in any environment without a config file
- pg connection pool with read-only mode enforced at connection time — no destructive query can leak through
- Auto-discovery via information_schema finds every non-template database, schema, table, and column on each server
- shadcn/ui + Radix + Tailwind v4 with dark and light theme
- Ships as a single Docker container with zero external dependencies
What It Achieved
- Onboarding a new joiner takes one env var, not a manual
- Safe by default — no GUI tool can accidentally write to the database
- One container covers every Postgres instance the team uses
- Every page is a server-rendered Postgres query — no client-side ORM, no schema sync step
Tech Stack
Next.js 16React 19TypeScriptpgPostgreSQLshadcn/uiRadix UITailwind CSS v4Docker
Need a custom internal tool?
If your team needs a small, focused web app that wires straight into existing systems, we'll build it.
Book a discovery call