Self-hosted database control plane: clusters, backups and operations. Read-only by default.
Karakoram is a multi-platform, self-hosted control plane for database and stateful-service orchestration inside your infrastructure, without Kubernetes or a hosted coordinator. A Go control plane provides a REST API, karactl CLI and web UI; providers supply infrastructure, while you operate the installation, credentials, data and recovery procedures. Zerops is the reference provider; Karakoram's maintainer works at Zerops (see Acknowledgements). Dokploy and Nomad are also available; see Providers for their status.
Status: pre-1.0. The current release is v0.4.3; read its known issues and the limitations before you rely on it. Dokploy and Nomad are experimental for every engine, and several engines are experimental on every provider (engine availability). The main branch, and the documentation on it, can describe changes that are not released yet.
Versions below are catalog defaults; each engine section lists supported versions and upgrade paths.
Release status and provider-specific availability are centralized in engine availability.
| Engine | Distribution/version | Topologies | Backups | Section |
|---|---|---|---|---|
| MongoDB | Percona Server for MongoDB 8.0.32-14; Percona Backup for MongoDB (PBM) 2.16.0-1 | Replica sets; sharded clusters | Logical/physical; point-in-time recovery (PITR) | MongoDB |
| RabbitMQ | RabbitMQ 4.3.6 | 1/3/5/7 brokers | Definitions only; no messages or PITR | RabbitMQ |
| Elasticsearch | Elasticsearch 9.5.5; optional same-version Kibana, Logstash and APM Server | Combined nodes; dedicated masters | Native S3 snapshots | Elasticsearch |
| Weaviate | Official Weaviate 1.40.1; mixed-license binary, community features only | Single; 3–9 data members with three fixed Raft voters | Native S3 full; no PITR | Weaviate |
| PostgreSQL | Percona PostgreSQL 17.11.1 default; majors 16/17/18; extension profiles | Single; Patroni/etcd HA (3/5); Citus distributed; ProxySQL client service | pgBackRest full/diff/incr and PITR | PostgreSQL |
| Supabase | PostgreSQL 17 plus release-locked native services | Same database topologies; modular services | PostgreSQL data only; separate S3 object protection required | Supabase |
| Keycloak | Official Keycloak 26.8.1; OpenJDK 21 | One native runtime with a PostgreSQL binding | Through the source PostgreSQL cluster | Keycloak |
| OpenBao | OpenBao 2.7.1 | 1/3/5 members; integrated Raft or bound PostgreSQL storage | Raft snapshots to S3; PostgreSQL storage uses source recovery; no PITR for Raft | OpenBao |
| Temporal | Temporal 1.32.1 (also 1.31.4); ui-server 2.56.0 | Combined server; split stateless roles on bound PostgreSQL; Dokploy/Nomad only, not Zerops | Source PostgreSQL backup plus cluster-state manifest; requires binding service | Temporal |
| MySQL | Percona Server for MySQL 8.4.11-11 default; majors 8.4/8.0 | Single; Group Replication single-primary (3/5); ProxySQL | XtraBackup full/incremental and GTID-based PITR | MySQL |
| Percona XtraDB Cluster | PXC 8.4.11-11.1 default; majors 8.4/8.0; separate pxc engine driver | Galera cluster (3/5); one ProxySQL-routed writer | Separate PXC backup provenance; full/incremental and PITR | PXC |
| Neo4j Community | Neo4j 2026.09.0 / 2026.10.0 (default); Temurin Java 21 | Single member only | Offline system + graph dumps; full outage; no PITR | Neo4j |
Karakoram is multi-platform; a namespace selects the infrastructure provider that provisions its members.
| Provider | Role / runtime | Infrastructure and guide |
|---|---|---|
| Zerops | Reference provider | Managed Ubuntu runtimes, Local Storage and public routing in existing projects; guide. |
| Dokploy | Docker Swarm | Applications and node-local volumes on your Dokploy-managed Docker Swarm; guide. |
| Nomad | Native jobs | Native jobs and dynamic host volumes on your operator-managed Nomad cluster; guide. |
See Providers for capability differences and Operating costs for infrastructure costs.
Warning: Review critical limits before production use: replica count does not guarantee independent hosts, Local Storage is single-host, and the control plane has one replica.
Choose a provider in Providers. For Zerops, use the dashboard-only Quick start, or the installation reference for local deployments, custom names and CLI setup. Dokploy and Nomad installation paths are linked there.
Requires Go 1.26+, Node 22.6+, npm and Make:
make build-all # web UI and both Go executables
make test # Go unit/handler tests
# Integration-tagged tests (some require Docker; PostgreSQL/Supabase use native LXC):
go test -tags integration -count=1 -timeout 30m ./...
A Go-only make build without UI assets serves a “UI not built” page. See UI development, Contributing and the end-to-end suite; deployment tests create billable Zerops resources.
Coding agents: read AGENTS.md for repository boundaries and contribution commands.
Keep docs/ beside the repository's api/, ui/ and root README so relative source/reference links resolve.
Thank you to Zerops for providing free-of-charge infrastructure for developing and testing Karakoram. Disclosure: Samyazz, who maintains Karakoram, is employed by Zerops as a system architect. Karakoram is not a Zerops product, and Zerops does not endorse it.
Karakoram installs Percona Server for MongoDB and Percona Backup for MongoDB from Percona's official repositories. It independently implements orchestration; no OpenEverest code or UI is copied into this repository.
Karakoram uses the Apache License 2.0; see NOTICE. Dependencies retain their licenses and notices. Percona Server for MongoDB and Percona Backup for MongoDB are Percona products and trademarks. OpenEverest, MongoDB and Zerops names and marks belong to their respective owners. Karakoram is independent of OpenEverest and MongoDB and is not affiliated with or endorsed by them. Zerops does not endorse Karakoram either; its connection to Zerops is described under Acknowledgements.
This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.