For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /docs/getting-started.md.

Getting Started

Ivory ships as one Docker image with no external dependencies — no agent on your hosts, no orchestrator, no cloud account. This page takes you from nothing to your first monitored cluster.

1. Run the container

Pick either registry, they publish the same image:

# 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

For anything beyond a quick try, keep the data in a directory you control, so it survives replacing the container:

docker run -p 80:80 \
  --mount type=bind,source=YOUR_LOCAL_PATH,target=/opt/ivory/data \
  --restart always veegres/ivory

See Configuration for persistence, upgrades, TLS, running under a sub-path and every environment variable.

2. Complete the setup wizard

Open http://localhost:80. On first start Ivory asks for:

  • A secret word — every stored secret (SSH keys, database passwords, LDAP and OIDC client secrets) is encrypted with it. See Configuration → Secrets.
  • Authentication — run without it locally, or enable Basic, LDAP or OIDC/SSO and register the first superuser. See Authentication.

3. Add your first cluster

There are three ways in, depending on what already exists:

You haveUseRead more
A running cluster and every node's addressManualClusters → Manual
A running cluster and one node's addressAuto-detectClusters → Auto-Detect
Machines, but no cluster yetDeployDeployment

4. Start operating

  • Overview — node roles, replication lag, warnings, switchover and failover
  • Node — VM metrics, containers, logs, configuration and the query console
  • MCP server — connect Claude, Cursor, Codex or any MCP client to the same cluster