Railway's developer experience on servers you own.
One command turns any Linux VM into a canvas of services with git deploys, databases, logs and rollbacks. Open source. No per-seat, per-minute or per-server fees.
curl -fsSL https://5050cloud.com/install.sh | sudo shOr with wget: wget -qO- https://5050cloud.com/install.sh | sudo sh. Ubuntu 24.04 is the tested OS. Piped, it asks nothing; in a terminal it offers a guided setup. Every answer is also a flag. See Install options.
Public HTTPS URL for an app built from a public GitHub repo in under 5 minutes from the install command, with no DNS setup.
v0.1.0 is an early release: see the limits below for what has been tested so far.
Why it costs less
The workload: 3 web services, Postgres and Redis, 4 vCPU and 16 GB RAM in total, 100 GB egress and 50 GB of volume storage per month, one production environment, 730 hours, no support plan, no tax.
| Option | Monthly | vs Railway steady ($252.5) | Price page |
|---|---|---|---|
| Hetzner CCX23 (4 dedicated vCPU, 16 GB) + 5050cloud | about $102 | 60% less | source |
| Hetzner CPX42 (8 shared vCPU, 16 GB) + 5050cloud | about $83 | 67% less | source |
| DigitalOcean General Purpose 4 vCPU, 16 GB + 5050cloud | $138 | 45% less | source |
| AWS m7i.xlarge, 1-year reserved + 5050cloud | $111 | 56% less | source |
| AWS m7i.xlarge, on demand + 5050cloud | $161 | 36% less | source |
| Azure D4s v5, pay as you go + 5050cloud | about $160 | 37% less | source |
| Two Hetzner CCX23 (app replicas on both, a Postgres primary and a standby) | about $204 | 19% less, with no single host to lose | source |
| Render (Pro) | $246.25 | about the same | source |
| Fly.io (managed Postgres with HA) | $403.85 | 60% more | source |
| Heroku (memory matched) | $1,150 | 4.6x | source |
| Railway, steady load (all 4 vCPU and 16 GB in use around the clock) | $252.50 | source | |
| Railway, typical load (averages 1 vCPU and 8 GB) | $112.50 | source |
List prices read on 2026-10-22; check current prices. Exchange rate: 1.15 USD per EUR (an assumption; check the rate on the day you compare). 5050cloud itself costs $0. Railway list prices used: $20 per vCPU month, $10 per GB of RAM month, $0.05 per GB egress, $0.15 per GB of volume month (source, 2026-10-22).
- Low average use favours Railway. At typical load (an average of 1 vCPU and 8 GB) Railway costs about $112.5, about the same as a Hetzner CCX23 and less than a DigitalOcean, AWS on-demand or Azure VM. For idle hobby projects there is no saving to claim.
- Egress is included on Hetzner in the EU (20 TB) and on DigitalOcean (5 to 6 TB).
- Growth is flat on a VM. Twice the traffic costs nothing until the box is full; the next step is a fixed price you choose.
- You own patching. The installer turns on unattended security updates and
5050 upgradereverts itself when the new version is unhealthy. Reboots are yours.
See your own number: the Usage page shows what your use would cost on Railway.
Headline: Hetzner CCX23 + 5050cloud: about $102 a month, 60% less than Railway at steady load.
Use every core you pay for
Processes set to auto gives a single-threaded Node service at least 1.6x the throughput of one process.
Most Node apps run one process and use one core. Turn on Use all cores (Settings > Scale) and 5050cloud runs one process per vCPU. For a start command of the form node server.js it runs the processes in Node cluster mode sharing one port; for every other runtime it sets WEB_CONCURRENCY, which gunicorn, uvicorn, puma and many frameworks read. Test condition: examples/node-cpu on a 2 vCPU non-burstable VM, load from a second host, 60 s warm-up, median of 3 runs of 60 s. The VM size is named in report.json. The test app and script are in the repo.
Add servers with one command
curl -fsSL https://5050cloud.com/install.sh | sudo sh -s -- --join https://console.example.com --token J-... --roles app- A second host joins with one command and is online in under 2 minutes. Get the command from Hosts > Add host or
5050 host add. - The agent dials out: no inbound management ports, works behind NAT.
- Replicas across hosts with built-in load balancing.
- Private networking over WireGuard.
- A second public entry point with --roles ingress.
Reliable by default
- Database backups to any S3-compatible bucket with point-in-time restore to a copy.
- Zero-downtime deploys for services without a volume, for public and private traffic.
- The old version keeps serving if a deploy fails.
- Rollbacks restore the variables a deployment ran with and do not expire after a few days.
- 5050 upgrade reverts itself if the new version is unhealthy.
- Apps keep serving while the 5050d process is stopped or restarting, and across a worker reboot.
- The control plane's state streams to your bucket and rebuilds on a new VM.
v0.1.0 is an early release. A fresh single-host install was smoke tested end to end (install, sign-up, image deploy, generated HTTPS domain, Postgres with a variable reference). The full release suite on fresh VMs, which proves each line above, runs next. The test conditions are listed in claims.json.
Move from Railway in minutes
- 5050 import railway brings services, variables, domains, volumes and databases over as staged changes.
- railway.json in your repo is honoured.
- The railway CLI alias, the same variable names and the same reference syntax:
${{Postgres.DATABASE_URL}}works as it does on Railway.
Coming from Railway lists every difference.
No lock-in
- Builds use Railpack, Railway's own builder, or your Dockerfile.
- Every deployment is a standard Docker image.
5050 config pullexports an environment's services and settings to one file.- The server is AGPL-3.0. The CLI, API types, templates and installer are MIT.
Compared with
| 5050cloud | Railway | Coolify | Dokploy | Kamal | Dokku | |
|---|---|---|---|---|---|---|
| Runs on your servers | Yes | No (managed) | Yes | Yes | Yes | Yes |
| Web UI | Yes, a canvas | Yes, a canvas | Yes | Yes | No | No (paid Pro) |
| Variable references between services | Yes, Railway syntax | Yes | No | No | No | No |
| Multi-host | Yes, built-in load balancing | Managed regions | One copy per server, bring a load balancer | Swarm cluster, needs a registry | Needs an external load balancer | K3s scheduler |
| Replicas on one host | Yes | Yes | No | Yes | One container per role per host | Yes |
| Zero-downtime deploys | Yes, without a volume | Yes | Rolling update, with exceptions | Swarm rolling updates | Yes | Yes |
| Backups with restore | Point-in-time Postgres, restore to a copy | Yes | Scheduled dumps, restore largely manual | DB and volume backups | None built in | Plugins |
| Inbound management port | None (agents dial out) | Not applicable | SSH | Swarm ports | SSH | SSH |
| License | AGPL-3.0 server, MIT CLI | Proprietary | Apache-2.0 | Apache-2.0 plus a proprietary directory | MIT | MIT |
Facts as of 2026-10-22, from each project's docs. Details per tool under Compare.
Honest limits
- v0.1.0 is an early release. A fresh single-host install on Ubuntu 24.04 was smoke tested: sign-up, an image deploy, a generated HTTPS domain and Postgres with a variable reference. Multi-host, backups, upgrades and the Railway import are built but have not yet been through the full release test suite.
- One control host. With one host, a host failure stops everything until it is rebuilt. With more hosts, apps on other hosts keep serving (with a second ingress host), but deploys, cron and the console stop until the control host is back or rebuilt.
- Cron runs pause while the control plane is down; missed runs are listed, not replayed.
- Databases run on one host each. No high availability, no automatic failover.
- Services with a volume have a short gap on every deploy.
- Without a second ingress host, all public traffic enters through one machine. No global edge, CDN or DDoS protection.
- No autoscaling. Volumes have no size cap; they share the host disk.
- With a bucket, control plane state is replicated within seconds; without one, the recovery point is the last hourly snapshot on the same disk.
- Metrics are kept 30 days. Logs are kept 7 days on each host.
- IPv4 only. Ubuntu 24.04 is the tested OS.
- You own the hardware and the OS (security updates are automated, reboots are yours).
FAQ
What does it cost?
Nothing. 5050cloud is open source. You pay your server provider and, if you want off-site backups, a few dollars for an S3-compatible bucket.
What do I need?
A Linux VM with a public IPv4 address, ports 80 and 443 open, and root access. Ubuntu 24.04 is tested; Ubuntu 22.04 and Debian 12 install with a warning. 2 vCPU and 4 GB of RAM is a comfortable start.
Do I need a domain?
No. Without one, services get sslip.io names with real certificates. Add your own domain at install time with --domain or later per service.
Is it a fork of Railway?
No. It is an independent project that follows Railway's ideas and names so your projects and habits move over. It is not affiliated with Railway.
Can I use my existing Docker Compose file?
Yes. 5050 import compose docker-compose.yml or drag it onto the canvas. Services, variables, ports, volumes and dependencies are staged for you to review.
How do I get my data out?
Your databases are standard containers you can dump with 5050 connect, backups sit in your own bucket, and 5050 config pull writes your services to a file.