Coming from Heroku
Move a Heroku app to a server you own, Dockerfile or buildpacks, Procfile, config vars, Postgres and Redis, with no lock-in.
The fast way: paste a Heroku API token into the importer and Railyard brings over processes, environment variables, databases with their data, and domains. The steps below are what it does for you, and how to do it by hand.
Why teams leave Heroku
The bill grows with every dyno, every add-on, and every teammate, and it is priced in a currency you may not earn in. The free tier is gone. Salesforce sets the roadmap. And when you leave, you take your code and nothing else: the platform was never yours to move.
Railyard gives you the same push-to-deploy workflow on a Linux server in your own cloud account. Your provider bills you directly, at their price. Cancel Railyard and the app keeps running.
What comes with you
- Your repo, unchanged. Railyard builds from a Dockerfile or from Cloud Native Buildpacks (the same buildpacks Heroku uses), so most apps need no changes.
- Your Procfile.
web,worker,releaseand any other process types are read as-is. - Your config vars. Paste them in; they become the app’s environment.
- Heroku Postgres and Heroku Data for Redis map to managed Postgres and Redis addons. Railyard provisions them and injects
DATABASE_URL/REDIS_URLfor you. - Custom domains and automatic TLS.
The move
- Point Railyard at a server. Attach one you already have, or have Railyard provision one in your DigitalOcean / Hetzner / AWS account.
- Add your repo and pick your build method. If your app already deploys on Heroku with buildpacks, choose buildpacks and change nothing.
- Bring your config. Paste your config vars. Attach Postgres and Redis; Railyard wires the URLs in.
- Deploy. Watch the build stream. Open the temporary URL and click through the app.
- Move your data.
heroku pg:backups:capturethenpg:backups:download, and restore the dump into the managed Postgres addon. Same for Redis if you persist it. - Cut DNS over. Your Heroku app keeps serving until the record flips. There is no window where nothing is up. Then
heroku apps:destroyand cancel the add-ons.
What’s different
You are responsible for a server now, but Railyard provisions it, keeps Docker patched, runs the deploys, and handles TLS, backups and rollbacks. What you buy with that: no markup on compute, no vendor lock-in, and a box you can point at any cloud you like.