Move from Railway in an afternoon
Railway and velixir both build your source with no Dockerfile, so most projects move without a code change. Bring your variables in one paste, copy your Postgres data across, and switch the domain.
-
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 variables
Pipe them straight in from the Railway CLI, or copy the service's Raw Editor (as .env or JSON) into Import on the app's Environment tab. References like
${{Postgres.DATABASE_URL}}aren't values, so the import stops and names them. Leave out the database and Redis URLs: bind a velixir database and cache and they setDATABASE_URLandREDIS_URLfor you. Moving is a good moment to rotate your keys, so paste fresh ones where you can.railway link railway variables --kv | velixir env import - --secret
-
3
Copy your Postgres data
Dump from the
DATABASE_PUBLIC_URLon your Railway Postgres service. Create a Postgres database on velixir, restore into it using the external connection string, then bind it to your app.pg_dump -Fc --no-acl --no-owner "<DATABASE_PUBLIC_URL>" > latest.dump 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
- •A start command in
railway.jsonorrailway.tomlgoes in a Procfile asweb: <command>. - •Pre-deploy commands: run migrations as part of your start command.
- •Cron schedules: run them from inside your app with a cron library, or from a small worker app.
- •A Dockerfile isn't used. If yours installs extra system packages, open a ticket and we'll help.
- •Volumes: add a persistent volume to the app and copy your files across.
The full guide, with every flag explained, is in the docs. Stuck on something Railway-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.