The Anyport Team
What a deploy platform should charge for
Every pricing model in this category follows from one fact: who owns the machines. A look at the three answers, the test a meter has to pass, and what happens on each when you stop paying.
A pricing page is where a platform tells you what it thinks it is. The models in this category look like arbitrary packaging until you notice that each one follows from a single fact: who bought the hardware.
When the vendor owns the machines
Heroku, Render, Fly and Railway all meter compute. You pay by instance size and by hour, and the bill grows as you run more. This is the coherent model for what they are. They bought the servers, they carry the depreciation and the power bill, and your fifth container genuinely costs them more than your fourth.
The price of the platform itself is folded into the markup on that compute, which is why this model tends to look cheap at the start and expensive at scale. That is not a criticism. It is the only honest way to price a service where the hardware is the service.
When you own the machines
Coolify, Dokploy and CapRover invert it. You install the thing on your own server, it is open source, and there is no compute question because there is no vendor compute. What you pay is your own time: the install, the upgrades, the evening the control plane stops answering. Several of them will sell you a hosted control plane if you would rather not.
The middle, and the question it forces
Anyport sits in an awkward spot between those two. We run a control plane. You run the clusters, on hardware you already own or rent from somebody else. So what, exactly, are we entitled to charge for?
There is a test that answers it. Does the meter track a cost we actually pay? Your fifth container costs us close to nothing, because it is scheduled by your cluster onto your nodes, and the only thing that reaches us is a small amount of state. Charging per container would be a price with no cost behind it. Prices like that are perfectly collectable. They are just not defensible, and a customer works out which kind they are on the day they scale.
What does cost us something
Two things, and only two. The first is the control plane: holding your desired state, reconciling it, coordinating builds and deployments, keeping the certificates valid. That is roughly fixed per organization and grows slowly with how much you run.
The second is gateway traffic. When a cluster has no public address of its own, its traffic reaches the internet through a gateway we operate, on bandwidth we pay for. That cost is genuinely marginal and genuinely ours. A cluster that has its own public address never crosses that gateway and is never metered for it.
So there is one metered resource, and it is the one with a bill behind it. Compute, builds, storage, logs and seats are not metered on any plan, including the free one, and that is a structural fact rather than an introductory offer. The machines doing that work are already yours.
The proxy we chose, and why it is imperfect
What is left to charge for is the control plane, and there is no clean way to meter that. We price by cluster, which is a proxy rather than a measurement, and it is worth being straightforward about that.
Clusters won on three grounds. You always know how many you have, which a metric like reconciliations per hour would not give you. The number correlates reasonably with the work we do. And it does not punish you for using the platform: apps, projects and members are unlimited on every plan, so deploying a tenth service into a cluster you already pay for costs nothing more. Per-seat pricing fails that last test badly. Charging for the fifth engineer is a strange thing to do when the whole product is meant to make adding them easy.
What that comes to
One cluster is free, with 10 GB of gateway traffic a month. Pro is 5 dollars a month, or 50 a year, and covers three clusters and 100 GB. Past that a cluster is 4 dollars a month and traffic is 5 cents per GB. There is no per-seat charge on any tier.
The question worth asking any platform
Not what it costs. What happens when you stop paying.
Where compute is metered, the answer is usually that your apps stop, because the apps are running on the vendor's machines. Here they are not. If a payment fails, we send notices through a two week grace period, and only then does public routing through our gateway pause. Your cluster keeps running the whole time, your data stays on your own disks, and nothing is deleted. When the payment lands the routing comes back.
The same principle covers the other direction. You can set a spend limit on traffic past your allowance, and when you reach it routing pauses instead of the bill continuing to grow. The free plan is a hard stop rather than a bill that starts quietly. A surprise invoice is something a platform chooses to make possible, and we would rather pause something you can see.
None of this is generosity. It follows from where the machines are, which is the same thing the rest of the pricing follows from.