Railway is great when you want apps on their platform with usage billing. CloudPloy is for teams that want a flat control-plane plan, optional at-cost provisioning, or a server they already own, plus MCP so an agent can deploy.
| Topic | CloudPloy | Railway |
|---|---|---|
| Pricing model | Flat plan (from $9.99/mo) + credits only for compute we provision | Usage-based on Railway-hosted resources |
| Bring your own server | Yes. BYO never draws credits | Not the core model |
| Compute markup | None. Provider's exact rate when we provision | Platform pricing on their infra |
| MCP / agent deploy | First-class HTTP MCP + scoped tokens | Depends on your own tooling |
| Polyglot builds | Nixpacks (Node, Python, Go, Rust, Ruby, Java, PHP, …) | Strong polyglot on their platform |
| WordPress / Laravel presets | One-click presets | DIY containers / templates |
| Free forever tier | Yes. 1 server, 1 app, up to 2 vCPU / 2 GB RAM | Trial / credits vary; check Railway |
| Credit zero on our-provisioned | Stop, then 7-day grace before destroy | N/A (their billing) |
Railway details change; verify on railway.app. CloudPloy numbers match our pricing page (Starter $9.99, Pro $19).
Example: you run one small app on a Hetzner CX22 you already own. With CloudPloy you pay the plan (Starter $9.99/mo) and Hetzner separately. Credits stay at zero. With Railway you'd pay for equivalent resources on their usage model instead of owning the VPS.
Example: you want us to provision that CX22. You pay Starter + Hetzner's hourly rate from prepaid credits, payment processor fee itemized on top-up. No CloudPloy markup on the VPS line.
It depends on your setup. If you bring your own Hetzner box, you pay CloudPloy's plan (e.g. Starter $9.99/mo) and pay Hetzner directly. If we provision, you pay the same provider rate we pay, plus the plan. Railway's bill is usage on their platform. Run the numbers for your traffic.
Point your git repo at a CloudPloy server (BYO or provisioned), deploy, then cut DNS. Expect to re-create env vars and any managed databases separately for now.