One place for the whole life of a cluster. One web UI to deploy a cluster, watch its health and replication lag, run a switchover or failover, open a SQL query console, control containers over SSH, and read VM metrics and logs — from your browser or your phone. One Docker container, no agent on your hosts, no orchestrator, no cloud account. New to Ivory? Start with About Ivory.
🤖 AI-ready out of the box. Plug Claude, Cursor, Codex or any AI agent into Ivory's built-in MCP server and just ask: "why is replica 2 lagging?", "what's blocking my queries?", "switch the leader to node 3".
⭐ Star Ivory on GitHub — it takes one click ⭐
Stars keep the author motivated to keep building Ivory. Want to help more? Support it on Boosty ❤️
Deployment — spin up a high-availability cluster over plain SSH
- Deploying a cluster — over SSH, with no orchestrator or agent
- Deploying a single cluster node — add or rebuild one node of an existing cluster
- Deployment templates — the command that runs on each node, saved and reusable
- Default templates — ready to deploy for every supported database, in two variants:
- Multi host — one node per machine, the usual layout for a real cluster
- Single host — the whole cluster on one machine, for trying it out locally or on a test VM
Cluster management — HA operations from the browser
- Cluster list — register manually, auto-detect from one address, or deploy
- Cluster health — node roles, replication lag, pending restarts, warnings
- HA operations — switchover, failover, reinitialise, restart, reload, pause
- Database configuration — view and patch settings per node
Node operations — the machine and the container behind each node
- Container lifecycle — deploy, start, stop, restart, remove, logs
- Keeper operations per node — the same HA actions in a full-page view
- VM metrics — CPU, memory, network and processes on the host
- Log streaming — any file on the host, or container output
Database troubleshooting — query console and maintenance tools
- Query builder — saved SQL queries for monitoring and diagnostics
- Database tools — engine-specific maintenance tools, run as background jobs with live output:
- Postgres — pgcompacttable, reduces table and index bloat without heavy locks
Access control and operations
- Authentication — Basic, LDAP and OIDC/SSO, with granular per-user permissions
- Configuration — data persistence, upgrades, TLS, reverse-proxy sub-path
- MCP server — expose Ivory to an AI agent, gated by the same per-user permissions
Ivory ships as one Docker image with no external dependencies.
- Start the docker container
- 🐳 Docker Hub
docker run -p 80:80 --restart always veegres/ivory - 📦 GitHub Container registry
docker run -p 80:80 --restart always ghcr.io/veegres/ivory
- 🐳 Docker Hub
- Go to http://localhost:80
- Complete the initial setup wizard (authentication, secret key)
- Add your first cluster — manual (all node addresses), auto-detect (one address, Ivory finds the rest), or deploy a new one from a template
- Start monitoring
| Page | What's in it |
|---|---|
| About | What Ivory is, vision, why these databases |
| Getting started | Run the container, the setup wizard, adding your first cluster |
| Core concepts | Cluster, node, keeper, plugins, platform, templates, vault |
| Clusters | Adding clusters manually, auto-detection, tags and filtering |
| Cluster overview | Cluster health, warnings, HA operations, cluster options |
| Node | System, Container, Keeper, Database and Tools tabs |
| Deployment | Deploy a cluster or one node, deployment templates, variables |
| Supported databases | Every engine compared, and one page per database on how Ivory runs it |
| Authentication | Basic / LDAP / OIDC, users, superusers, permissions |
| Configuration | Data persistence, upgrades, environment variables, TLS, sub-path |
| MCP server | Connecting an AI agent, the tool list, permissions and blast radius |
| FAQ | Upgrades, data location, agents, credentials, proxies, phones |
What Ivory does with each — operations, lag, warnings, console and deploy templates — is in Supported databases. Why these ones, and where Ivory is heading, is in About Ivory.
Missing your database? You can add it. Every engine is a self-contained plugin, so supporting a new one
needs no change to Ivory's core. The repository ships an AI agent for exactly this,
keeper-database-plugin: ask Claude Code to use it for your engine
and it writes the keeper and database plugins, their tests and the UI wiring by the project's checklist —
then open a PR (see Contribution).
Contributions are welcome — see CONTRIBUTING.md for the local setup, conventions and how to send a change, open issues (or the good first issues) for something to pick up, and SECURITY.md for supported versions and reporting a vulnerability.
Ivory is a self-hosted, open-source GUI, web dashboard and MCP server for database cluster management, monitoring and troubleshooting. One tool, the same workflow for every engine:
- PostgreSQL + Patroni GUI — Patroni web UI for cluster health, replication lag, switchover, failover, reinitialise and restart, plus a PostgreSQL query console, bloat and activity diagnostics and pgcompacttable.
- PostgreSQL management UI — plain Postgres primary/standby monitoring, without needing Patroni.
- etcd GUI — etcd cluster web UI for members, leader, raft lag and alarms, plus a key-value console.
- Redis GUI — Redis replication monitoring and a command console for master/replica setups.
- ClickHouse GUI — ClickHouse cluster monitoring, replication delay and queue, and a SQL console.
- MongoDB GUI — MongoDB replica set monitoring — primary, secondaries and replication lag.
- ZooKeeper GUI — ZooKeeper ensemble web UI for leader, followers and a znode console.
- Cluster deployment over SSH — deploy a highly available Postgres, etcd, Redis, ClickHouse, MongoDB or ZooKeeper cluster to your own VMs with Docker, from ready-made templates — no Kubernetes, Ansible or agent.
- AI DBA assistant — an MCP server for PostgreSQL, Patroni, etcd, Redis, ClickHouse, MongoDB and ZooKeeper, so Claude, Cursor, Codex or any MCP client can diagnose and fix database clusters in plain language.
- On-call from your phone — a mobile-friendly database dashboard for checking and fixing a cluster away from your laptop.


