GitHub - veegres/ivory: Ivory is home for your database clusters — deploy, watch and fix them from one place, be it your browser, your phone or your AI agent. Open source, self-hosted, one Docker container and nothing to install on your hosts. · GitHub
Skip to content
veegresPublic

About

Ivory is home for your database clusters — deploy, watch and fix them from one place, be it your browser, your phone or your AI agent. Open source, self-hosted, one Docker container and nothing to install on your hosts.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

280 stars

Watchers

3 watching

Forks

Ivory — open-source web UI and AI-ready MCP server for PostgreSQL Patroni, etcd, Redis, ClickHouse, MongoDB and ZooKeeper clusters

Ivory

DEPLOY. WATCH. FIX. ANYWHERE

Ivory is home for your database clusters — deploy, watch and fix them from anywhere.

stable version latest version docker pulls

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 ❤️

Features

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

Node operations — the machine and the container behind each node

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

Get started

Ivory ships as one Docker image with no external dependencies.

  1. 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
  2. Go to http://localhost:80
  3. Complete the initial setup wizard (authentication, secret key)
  4. Add your first cluster — manual (all node addresses), auto-detect (one address, Ivory finds the rest), or deploy a new one from a template
  5. Start monitoring

Ivory web UI showing a PostgreSQL Patroni cluster overview with node roles and replication lag

Documentation

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

Supported databases and clusters

Database Cluster Stage
PostgreSQL High-availability cluster with Patroni STABLE
PostgreSQL Primary and standby replication STABLE
etcd Raft cluster BETA
Redis Master and replica replication BETA
ClickHouse Replicated cluster BETA
ZooKeeper Ensemble BETA
MongoDB Replica set BETA

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).

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.

What Ivory is used for

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.

About

Ivory is home for your database clusters — deploy, watch and fix them from one place, be it your browser, your phone or your AI agent. Open source, self-hosted, one Docker container and nothing to install on your hosts.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

280 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages