The figures below are rough estimates; check the providers’ current pricing before ordering. Prices collected on 26 October 2026. Karakoram is Apache-2.0 software; these are infrastructure estimates, not a Karakoram subscription, quote, performance promise or availability guarantee.
Karakoram is multi-platform: Zerops is the reference provider; Dokploy and Nomad run on infrastructure you supply. The same VM budget below applies to both providers; the cloud engine drivers are hosting examples, not additional Karakoram providers. See Providers, clusters and limitations.
Karakoram itself is free and open source. These are the infrastructure costs of running clusters on each provider/engine driver, not a price Karakoram charges.
Use 730 hours/month, on-demand Linux/amd64, no reservations, savings plans, credits or free trials. Hetzner and DigitalOcean monthly caps apply; Zerops’ published 30-day rates are multiplied by 730/720. Regions: Nuremberg/Helsinki for Hetzner compute and European object storage; Frankfurt (eu-central-1) for AWS; FRA1 for DigitalOcean; Gravelines (GRA), France, for OVHcloud Public Cloud.
Native currencies: USD for Zerops, AWS and DigitalOcean; EUR for Hetzner and OVHcloud. No currency conversion. Totals are rounded to whole currency units, or one decimal below 10; unit rates retain precision. VAT/taxes excluded.
Egress, cross-zone traffic, object requests, paid support, load balancers, NAT gateways, replacement/upgrade overlap and retained/orphaned resources are excluded. Private networking/IPv6 is assumed where necessary. Hetzner’s selected public price includes IPv4; AWS public IPv4 is not included. Do not expose internal management listeners.
Each engine table is an entire standalone installation: engine resources + one Karakoram control plane + one provider server host for Dokploy or Nomad + backup storage. Zerops includes a free Lightweight core for MINIMAL, or one Serious core for MINIMAL HA / PRODUCTION-SHAPED. Share overhead across engines in the same installation instead of paying it once per engine.
Backup occupancy per cluster is 20 GB/GiB MINIMAL, 100 GB/GiB MINIMAL HA, 500 GB/GiB PRODUCTION-SHAPED. This is retained physical object occupancy, not logical database size, a retention policy or a compression assumption. Size WAL/oplog history, full/incremental copies and restore staging separately.
CPU/RAM/data disk are stated per member as cores / GiB / GB (provider storage billing units differ). Every VM has spare RAM above the engine reservation; VM quantities include the OS/scheduler budget. Small shared/burstable VMs are not performance-equivalent to dedicated cores.
MINIMAL and MINIMAL HA use explicit admission floors, not necessarily the larger presets. Where validation supplies no positive numeric RAM floor, use the created default and say so. Explicitly set minimum and maximum CPU/RAM/data-disk bounds to the listed size; otherwise omitted maxima can allocate more storage/resources.
MINIMAL HA means an engine quorum topology, not end-to-end service HA. PostgreSQL’s minimum proxy and Supabase’s minimum API services remain singletons. For Dokploy and Nomad, place each voting/data member on a distinct worker VM; auxiliary replicas also have separate VMs here. Zerops cannot guarantee host/rack/zone anti-affinity, so its HA-shaped topology is not a failure-domain guarantee. See limitations.
Zerops defaults to SHARED CPU in the engine drivers and the control-plane import. Resource cost is the sum over runtimes of CPU + RAM + ephemeral disk, plus persistent volume capacity. Object storage and project core are separate. The estimates budget the upper ephemeral-disk bound: 3 GB per MongoDB/RabbitMQ/Elasticsearch/OpenBao/Weaviate member. PostgreSQL/Supabase/MySQL/PXC and Neo4j currently pass data-component disk bounds to both the runtime and persistent volume, so both are counted. Zerops Local Storage has a 5-GB minimum even when engine admission permits 1 GB. Auxiliary services use their 1-GB runtime-disk default. No extra CPU/RAM charge is invented for a Local Storage volume.
VM estimates are host count × VM price + storage + object storage + shared control overhead. AWS adds a 20-GiB gp3 OS disk to every VM and a separate data disk to each data member; DigitalOcean includes its OS disk and adds Volumes for data. Hetzner uses included local SSD capacity for node-pinned persistent host directories, not network Volumes: 40 GB on CX23 or 160 GB on CX43 accommodates the listed data plus OS budget. This is local, non-replicated member storage; engine replication and separate backups remain necessary. An optional Hetzner network-Volume variant is not priced because its current unit rate was not recoverable from the official public page; do not interpret that as free block storage.
OVHcloud uses hourly Discovery d2-2 / d2-4 and General Purpose b2-15 instances, not the separate monthly-billing offers. Their included 25 / 50 / 100-GB local disks cover the OS and auxiliary runtime disks. Add High Speed Gen2 Block Storage for each data member and Karakoram state: its 10-GB minimum volume means a 5-GB data/state requirement is billed as 10 GB; production data volumes are 100 GB each. Backups use S3-compatible One Zone Standard Object Storage, not SWIFT, snapshots or instance backups. GRA is a single-zone hosting estimate, not zone-redundant HA; backup objects in that same region are not an off-site disaster-recovery copy.
AWS regional machine-readable catalogs supplement its dynamically rendered pricing pages. OVHcloud’s euro prices below are from its official Ireland price list; its regional availability matrix lists Discovery, General Purpose, High Speed Gen2 and Standard Object Storage in Gravelines.
Provider
Unit used
Published price / basis
Official source
Zerops
Shared / dedicated CPU
$0.60 / $6 per core per 720 h; $0.0008333 / $0.0083333 per core-hour
Price/availability qualifications: Hetzner’s live product page marks CX23/CX43 unavailable at the check date. These are published-price budgets, not capacity reservations. Its June 2026 price adjustment lists €5.49 / €15.99 excluding IPv4; the current selected product page lists €5.99 / €16.49, which we use. T3 CPU-credit surcharges are excluded; AWS publishes $0.05/vCPU-hour for sustained T3 Unlimited surplus usage. Production data members use non-burstable m6i.xlarge instead.
OVHcloud Discovery instances use shared resources and are advertised for test/development/sandbox use; production data members instead use b2-15. Published RAM is in GB, not GiB: d2-2 still leaves RAM above the largest 1.5-GiB floor, while b2-15 leaves RAM above the 8-GiB production reservation. Standard-region instance prices include IPv4. The published d2/b2 monthly offers are a different billing choice, not a cap on these hourly estimates.
Control-plane sizing follows the shipped import: one shared core, RAM 0.5–1 GiB, runtime disk 1–2 GB, plus the 5-GB karakoramdata Local Storage. Budget its upper bounds, $4.4/month on Zerops. There is one control-plane replica, no control-plane HA; preserve a consistent state backup and master key. See installation, control-plane recovery and limitations.
Host allowances below are monthly, before backup objects and any Zerops project core:
Provider
Karakoram + state
Dokploy/Nomad server
Zerops (USD)
$4.4: managed runtime + 5-GB state
Not applicable
Hetzner (EUR)
€6.0: 1 × CX23, local state
€6.0: 1 × CX23
AWS (USD)
$20: t3.small + 20-GiB root + 5-GiB state
$37: t3.medium + 20-GiB root
DigitalOcean (USD)
$13: Basic 2-GiB + 5-GiB Volume
$24: Basic 4-GiB
OVHcloud (EUR)
€8.5: d2-2 + 10-GB state volume
€15: d2-4
Backup occupancy is 20 / 100 / 500 GB or GiB respectively:
Backup objects/month
Minimal
Minimal HA
Production-shaped
Zerops (USD)
$0.2
$1.0
$5.1
Hetzner (EUR)
€6.5
€6.5
€6.5
AWS (USD)
$0.5
$2.5
$12
DigitalOcean (USD)
$5.0
$5.0
$10
OVHcloud (EUR)
€0.1
€0.7
€3.5
Zerops adds $0 / $10 / $10 for the project core in Minimal / Minimal HA / Production-shaped. The VM providers have no extra project fee in these estimates. Calculations use unrounded rates: for example, OVHcloud shared host overhead is (0.0104 + 0.0206 + 10 × 0.000119) × 730 = €23.4987/month, plus engine workers, their data volumes and backup occupancy.
The small provider server host is a budget allowance, not a product admission minimum or an HA scheduler design. It is separate from every worker and from Karakoram. A redundant Nomad server quorum or larger Dokploy server needs extra hosts. Hetzner/Spaces account-level object-storage minimums can be shared across clusters; the tables conservatively charge each standalone installation the full minimum. Zerops’ automatic volume backups are not the engine-native S3 backups priced here. Backups and storage explains coverage and consistency.
Use a replica set, not a sharded cluster, for these tiers. Admission permits 1/3/5/7 data members, at least one whole CPU, 0.5 GiB RAM and 5 GB persistent disk. Defaults/presets create 1 GiB RAM, not the 0.5-GiB admission floor. PBM runs with each data member; it is not an extra VM. These tiny floors are for disposable workloads, not recovery/load guarantees. See MongoDB and replica sets.
Tier sizing
Members × CPU / RAM / persistent disk
MINIMAL
1 × 1 / 0.5 / 5; no redundancy
MINIMAL HA
3 × 1 / 0.5 / 5; three voting data members
PRODUCTION-SHAPED
3 × 4 / 8 / 100; voting members on separate hosts; S3 backups
Admission requires 1 member for single, or 3/5 for ha; data members require 1 CPU, 1 GiB RAM and 5 GB disk. The created RAM default is 2 GiB. Patroni and etcd are co-located on each HA data member: three data VMs already include all three etcd voters. HA requires at least one separate ProxySQL replica. For single, explicitly disabling the default proxy is admitted and gives the strict minimum. ProxySQL has no explicit numeric positive RAM floor beyond common validation, so use its 1 CPU / 1 GiB / 1-GB runtime default. See PostgreSQL.
Tier sizing
Members × CPU / RAM / persistent disk; auxiliary runtimes
MINIMAL
1 × 1 / 1 / 5; ProxySQL explicitly disabled
MINIMAL HA
3 × 1 / 1 / 5 with Patroni + etcd; 1 × ProxySQL at 1 / 1 / 1 runtime disk
Production worker cells distinguish data members from proxies:
Worker placement
Minimal
Minimal HA
Production-shaped
Zerops
1 managed data member
3 data + 1 proxy runtime
3 data + 2 proxy runtimes
Hetzner
1 × CX23
4 × CX23
3 × CX43 + 2 × CX23
AWS
1 × t3.small
4 × t3.small
3 × m6i.xlarge + 2 × t3.small
DigitalOcean
1 × Basic 2-GiB
4 × Basic 2-GiB
3 × Basic 16-GiB + 2 × Basic 2-GiB
OVHcloud
1 × d2-2
4 × d2-2
3 × b2-15 + 2 × d2-2
Monthly total
Minimal
Minimal HA
Production-shaped
Zerops (USD)
$9.2
$33
$168
Hetzner (EUR)
€24
€42
€80
AWS (USD)
$77
$138
$646
DigitalOcean (USD)
$54
$91
$389
OVHcloud (EUR)
€32
€57
€362
One proxy is a singleton client endpoint despite the HA database core. Two proxies require an application/provider routing design; no unpriced external load balancer is implied. Review ProxySQL compatibility and pgBackRest.
Supabase inherits PostgreSQL’s data/topology floors. The strict admitted minimum is database-only: every optional application component can be explicitly disabled, as can the proxy with single. Its MINIMAL and MINIMAL HA costs are therefore exactly the corresponding provider cells in the PostgreSQL monthly-total table above. That is not a functioning Supabase API stack.
The table below makes the requested database plus services comparison explicit: add gateway, Auth and PostgREST to those strict minima. They are default-enabled, not mandatory admission dependencies. Each has 1 CPU / 1 GiB RAM / 1-GB runtime disk by default; common validation requires positive RAM but defines no fixed positive numeric RAM floor, so the created default is used. Omitted application entries enable these three; explicit zero disables them. The functional MINIMAL row explicitly disables the default proxy, as the single core permits.
Realtime, Storage, imgproxy, metadata, Studio, functions, pooler, analytics and vector are optional and excluded from these prices. imgproxy requires Storage; Studio requires metadata + gateway; vector requires analytics. Storage requires registered S3 configuration; its application objects are additional to backup occupancy. Analytics has a 1-GiB admission floor; Realtime permits only one enabled replica. See Supabase and components.
Tier sizing
Database and selected application services
MINIMAL (functional API)
1 × data at 1 / 1 / 5; 1 each gateway/Auth/REST at 1 / 1 / 1 runtime disk; proxy disabled
MINIMAL HA (functional API)
3 × data at 1 / 1 / 5 with co-located Patroni/etcd; 1 proxy + 1 each gateway/Auth/REST at 1 / 1 / 1 runtime disk
PRODUCTION-SHAPED
3 × data at 4 / 8 / 100 with Patroni/etcd; 2 proxies + 2 each gateway/Auth/REST at 1 / 1 / 1 runtime disk; S3 backups
Production worker cells distinguish data members from proxies/API services:
Worker placement
Minimal
Minimal HA
Production-shaped
Zerops
1 data + 3 API runtimes
3 data + 4 service runtimes
3 data + 8 service runtimes
Hetzner
4 × CX23
7 × CX23
3 × CX43 + 8 × CX23
AWS
4 × t3.small
7 × t3.small
3 × m6i.xlarge + 8 × t3.small
DigitalOcean
4 × Basic 2-GiB
7 × Basic 2-GiB
3 × Basic 16-GiB + 8 × Basic 2-GiB
OVHcloud
4 × d2-2
7 × d2-2
3 × b2-15 + 8 × d2-2
Minimal and Minimal HA below include the functional API services:
Monthly total
Minimal
Minimal HA
Production-shaped
Zerops (USD)
$20
$45
$191
Hetzner (EUR)
€42
€60
€116
AWS (USD)
$136
$197
$762
DigitalOcean (USD)
$90
$127
$461
OVHcloud (EUR)
€55
€80
€408
HA here describes the PostgreSQL core; singleton API services are not an HA application guarantee. Production replicas still require appropriate ingress/routing and sufficient independent workers. Database backups do not protect separate Storage objects, function source or control-plane-held secrets; see Supabase operations.
Admission allows 1/3/5/7 brokers, at least 1 whole CPU, 0.5 GiB RAM and 5 GB data disk. The created RAM default is 1 GiB. Three brokers allow quorum queues with three replicas; classic-queue messages are not made redundant merely by adding brokers. Backups cover definitions only, not messages; the object-storage allowance below is a budget, not a message-backup feature. See RabbitMQ.
Tier sizing
Brokers × CPU / RAM / persistent disk
MINIMAL
1 × 1 / 0.5 / 5; no queue redundancy
MINIMAL HA
3 × 1 / 0.5 / 5; use replicated quorum queues
PRODUCTION-SHAPED
3 × 4 / 8 / 100; separate hosts; quorum queues; definitions to S3
Combined master/data nodes admit 1–9 members, at least 1 whole CPU, 1.5 GiB RAM and 5 GB persistent disk. Their resource default is 2 GiB RAM and 5–20 GB disk; these floor estimates explicitly pin disk to 5 GB. Three combined nodes supply the smallest useful majority-based redundant topology; configure shard replicas as well. Dedicated masters are optional, not three missing VMs in these estimates. The alternative dedicated-master topology requires 3 or 5 masters in addition to data nodes. Kibana, Logstash and APM are optional and disabled in every row below. See Elasticsearch.
Tier sizing
Combined nodes × CPU / RAM / persistent disk
MINIMAL
1 × 1 / 1.5 / 5; no redundant shard copy
MINIMAL HA
3 × 1 / 1.5 / 5; three master-eligible data nodes; shard replicas required
PRODUCTION-SHAPED
3 × 4 / 8 / 100; separate hosts; shard replicas and S3 snapshots
Worker placement
Minimal
Minimal HA
Production-shaped
Zerops
1 managed node
3 managed nodes
3 managed nodes
Hetzner
1 × CX23
3 × CX23
3 × CX43
AWS
1 × t3.small
3 × t3.small
3 × m6i.xlarge
DigitalOcean
1 × Basic 2-GiB
3 × Basic 2-GiB
3 × Basic 16-GiB
OVHcloud
1 × d2-2
3 × d2-2
3 × b2-15
Monthly total
Minimal
Minimal HA
Production-shaped
Zerops (USD)
$11
$33
$131
Hetzner (EUR)
€24
€36
€68
AWS (USD)
$77
$119
$607
DigitalOcean (USD)
$54
$79
$365
OVHcloud (EUR)
€32
€50
€347
Plan space for shard recovery/rebalance and watermarks, not just indexed data. Optional Kibana 9.x has a 1.5-GiB active RAM floor; Logstash and dedicated masters have 1-GiB floors, APM 0.25 GiB. None is needed for the Elasticsearch-only topology priced here. Review snapshots, Stack components and Elastic’s licensing restrictions in the engine guide.
These engines and the Citus distributed topology are new in v0.4.0; their release status is listed once in engine availability. The private, shared-CPU configurations below use the common runtime contract on Zerops, Dokploy and Nomad, except Temporal on Zerops as explained below; provider support is not deployment acceptance.
PostGIS, pgvector and TimescaleDB profiles cost the same as the corresponding PostgreSQL tier above; no extra runtime is required, but workload-driven CPU/RAM/disk growth is additional.
Use integrated Raft storage and the default Shamir seal: no PostgreSQL source or paid KMS/transit service is included. Admission allows 1/3/5 members at 1 CPU / 0.5 GiB / 5 GB persistent disk; created RAM defaults to 1 GiB. Each member has a separate 1–3-GB runtime disk. PostgreSQL storage is an opt-in alternative requiring a bound source and a different recovery budget, not the Raft installation priced here. See OpenBao.
Tier sizing
Members × CPU / RAM / persistent disk; auxiliary runtimes
The strict minimum is one combined server with UI explicitly disabled. Combined servers run frontend/history/matching/internal worker together; split topology instead requires one of each role. Common component validation requires 1 whole CPU, positive RAM and 1-GB runtime disk but no fixed positive RAM floor: use the created 1-GiB RAM default. Replicated combined servers supply redundant service instances, not a separate consensus quorum. See Temporal.
A bound PostgreSQL source is mandatory. Each cell includes one additional source at the PostgreSQL MINIMAL sizing (1 / 1 / 5, proxy disabled), sharing this installation’s control plane/provider server; backup occupancy is charged once on that source (20/100/500). This remains a singleton persistence bottleneck even in MINIMAL HA; upgrade the source to PostgreSQL HA separately for durable service HA. UI, application workers and external ingress are excluded. Zerops is not supported in this release: Temporal members need a private IPv4 route to their PostgreSQL source, while Zerops private service networking is IPv6. Dokploy and Nomad provide the required private IPv4 networking; managed public HTTPS is disabled.
Tier sizing
Members × CPU / RAM / persistent disk; auxiliary runtimes
Admission requires 1 / 1 / 5 per single data member and 1 / 2 / 5 per Group Replication member (RAM default 2 GiB). single permits one member and explicitly disabling ProxySQL; group requires 3 or 5 data members and at least one ProxySQL replica. The minimum GR3 deployment therefore reserves 7 GiB including its default proxy. Corrected agents bound the GR message cache to one eighth of minimum RAM (128 MiB floor), leaving 37.5% outside the default pool and message cache; this is not a workload-RSS guarantee. ProxySQL has no fixed positive numeric RAM floor beyond common validation, so use its 1 / 1 / 1 runtime default. Group Replication is single-primary; XtraBackup runs with data members, not on extra hosts. See MySQL.
Tier sizing
Members × CPU / RAM / persistent disk; auxiliary runtimes
PXC has no singleton topology: its admitted minimum is 3 Galera members plus 1 required ProxySQL replica; 5 data members are also admitted. Data floors are 1 / 2 / 5 (2-GiB data RAM default); proxy resources retain the 1 / 1 / 1 default. Like MySQL Group Replication, PXC rejects 1-GiB data members; Galera and SST add memory overhead beyond singleton MySQL. MINIMAL and MINIMAL HA therefore share workers but differ in backup occupancy and Zerops core allowance. Proxies route one writer; two proxy replicas need an operator routing design. See PXC.
Tier sizing
Members × CPU / RAM / persistent disk; auxiliary runtimes
Singleton only: no HA tier. Admission requires exactly one member, 1 whole CPU / 1 GiB RAM / 1 GB persistent disk; created defaults are 1 / 2 / 10. Zerops bills its 5-GB minimum volume plus the 1-GB runtime disk at the admission floor. Production remains one larger member. Offline dumps interrupt the database; enable scheduled-backup downtime consent when scheduling them. See Neo4j.
Tier sizing
Members × CPU / RAM / persistent disk; auxiliary runtimes
Admission permits one member for single, or 3–9 for cluster, at 1 whole CPU / 1 GiB RAM / 1 GB persistent disk. Created defaults are 1 / 2 / 10. The cluster has three fixed Raft metadata voters; configure collection replication as well (cluster replication minimum defaults to 3). Each member has a separate 1–3-GB runtime disk; Zerops bills at least 5 GB per volume. Inference services/API usage and application objects beyond the listed disks are excluded. See Weaviate.
Tier sizing
Members × CPU / RAM / persistent disk; auxiliary runtimes
MINIMAL
1 × 1 / 1 / 1; no redundancy
MINIMAL HA
3 × 1 / 1 / 1; three voters and replicated collections
PRODUCTION-SHAPED
3 × 4 / 8 / 100; replicated collections and S3 full backups
Singleton only: no HA tier in the implemented engine driver. Admission requires 1 CPU / 1.5 GiB RAM / 1-GB disposable runtime disk; pin maxima explicitly rather than the created 2-CPU / 2-GiB / 3-GB upper bounds. A bound PostgreSQL source is mandatory: each cell includes PostgreSQL MINIMAL (1 / 1 / 5, proxy disabled), sharing control-plane/provider-server overhead, with the 20/500 backup occupancy charged once on that source. Production-shaped enlarges the Keycloak runtime, not the singleton source; size/upgrade the source separately for workload and recovery needs. Backups protect the source rather than the disposable runtime. Private ingress only is priced, so Nomad’s lack of managed public HTTPS does not exclude it; external public ingress costs remain excluded. See Keycloak.
Tier sizing
Members × CPU / RAM / persistent disk; auxiliary runtimes
Each coordinator/worker group admits 1 or 3 data members, each at PostgreSQL’s 1 / 1 / 5 floor (created RAM default 2 GiB). At least one worker group plus one coordinator group is required; worker-group default is 2, maximum 8. Replicated groups run Patroni; coordinator members co-locate the shared etcd quorum and workers are its clients. Replicated groups require at least one shared coordinator ProxySQL replica; an unreplicated distributed minimum may explicitly disable it. No extra proxy per worker group is required. Production below chooses two worker groups. The 20/100/500 backup occupancy is for the whole distributed cluster, not per group; provision enough for every group and coordinated restore points. See Citus.
Tier sizing
Members × CPU / RAM / persistent disk; auxiliary runtimes