Move from Heroku without rewriting anything
Heroku apps are already built the way velixir expects: config in environment variables, a Procfile, listening on PORT. Most move with no code changes, and run in the EU for a fraction of the price.
-
1
Deploy your code
velixir detects the language and builds your source, no Dockerfile needed. It's live on its
velixir.runaddress in about a minute. Listen on0.0.0.0on the port inPORT; a Procfile'swebline is the start command.velixir init velixir deploy
-
2
Bring your config vars
Every config var in one command, stored as secrets. Leave out the database and Redis URLs: bind a velixir database and cache and they set
DATABASE_URLandREDIS_URLfor you. Moving is a good moment to rotate your keys, so paste fresh ones where you can.heroku config -s -a <your-heroku-app> | velixir env import - --secret
-
3
Copy your Postgres data
Capture a backup and download it. Create a Postgres database on velixir, restore into it using the external connection string, then bind it to your app.
heroku pg:backups:capture -a <your-heroku-app> curl -o latest.dump "$(heroku pg:backups:url -a <your-heroku-app>)" velixir db connect <database-id> --external pg_restore --no-owner --no-acl -d "<external connection string>" latest.dump
-
4
Switch the domain
Add your domain on the app's Domains tab and point DNS at velixir. Keep the old service running until DNS has moved over.
What works differently
- •Workers: run each worker process as its own velixir app from the same source.
- •Release phase: run migrations as part of your start command instead of a
release:line. - •Heroku Scheduler: run jobs from inside your app with a cron library, or from a small worker app.
The full guide, with every flag explained, is in the docs. Stuck on something Heroku-specific? Open a ticket from your dashboard and we'll help you move it.
We'll cover your hosting bill for 3 months.
Move your app, show us your last invoice from the host you're leaving, and we match it as velixir credit: up to €50 a month, for your first 3 months.
- ✓ Credit arrives monthly while your app is live and serving visitors.
- ✓ A card on file is needed to claim. It isn't charged for the offer.
- ✓ One claim per team. Credit can't be cashed out or refunded.
For the first 100 teams. We may close the offer at any time; claims already made are honoured.