Rocky Linux 10
Enterprise-grade, long-lived, and not owned by anyone whose licensing terms can change under us. Every node is identical and every node was installed the same way.
Owned hardware
Not resold capacity, not a subcontractor doing the management, not a region that gets consolidated next quarter. This page exists because the promise on the front page only makes sense if you believe this part.
The economics
A platform that buys from a hyperscaler pays per gigabyte transferred, per gigabyte stored and per CPU second. Their cost curve follows your usage exactly, so passing it on is the margin. For them a hard ceiling is not stubbornness, it is a loss.
Our costs are mostly fixed: the machines are depreciated over years, the rack space is a monthly amount, the power is metered but predictable, and the transit is committed rather than per gigabyte. A customer who hits their ceiling costs us capacity, which we already paid for, rather than a purchase invoice we have to eat.
That is the entire mechanism. It is not clever and it is not a business model innovation — it is just a different balance sheet, and it is the reason we can write "you can only ever spend what you have already paid" without an asterisk after it.
reseller cost model
├─ egress per GB → variable
├─ storage per GB → variable
├─ compute per sec → variable
└─ a ceiling eats the margin
cmdz cost model
├─ hardware depreciated → fixed
├─ rack + power monthly → fixed
├─ transit committed → fixed
└─ a ceiling costs capacity, not cash
The stack
Boring, standard, and chosen so that nothing on this platform depends on a component we could not replace ourselves.
Enterprise-grade, long-lived, and not owned by anyone whose licensing terms can change under us. Every node is identical and every node was installed the same way.
The desired state of every customer workload lives in our database, and an idempotent reconciler makes the cluster match it. We never read "the truth" out of the cluster — on drift, the database wins, without exception.
Every workload gets its own kernel. The isolation boundary is the hypervisor rather than a namespace, which is the point of the whole exercise.
Volumes are replicated across nodes within the region, with snapshots to object storage. Losing a disk is a maintenance ticket, not an incident.
Full-disk encryption where the key is released by a service on the network at boot rather than stored on the machine. A disk that leaves the building is unreadable.
A bare machine becomes a cluster node with a single bootstrap command carrying a one-time token that says which region and cluster it joins. There is no snowflake server and no manual step to forget.
Capacity
Capacity is calculated per region against fixed thresholds — memory headroom, storage headroom, and enough margin to lose a node without losing the region. When a region crosses a threshold, the ordering advice says which region needs iron, and a region can be marked limited or full so no new environments land in it until it has been added.
That is deliberately unglamorous. The alternative — running hot and hoping — is how a platform ends up either throttling customers or asking them to move region on short notice, and we would rather buy a machine.
Honestly
It does not make us cheaper than Cloudflare at high request volume — nothing VM-based will be. It does not give us a global edge network, and it does not give us a data center in every jurisdiction you might one day need.
What it buys is a cost structure that can carry a ceiling, an isolation model we control end to end, and a support answer that comes from somebody who can physically reach the machine. If what you need is presence in twenty regions tomorrow, buy that from someone who has it.
We sell the time and the knowledge, not the servers. Anyone with the time and the knowledge should run Coolify on their own box — it is cheaper than us, full stop, and we would rather say so than have you discover it.
Everything else on this site follows from the fact that we bought the machines.