Migrate from Railway

Leave Railway.Keep everything.

Paste a Railway token, pick a project, and Forge rebuilds it on your own server: services, variables, databases and domains. Railway keeps running until you switch DNS.

Import from Railway

Choose what moves

storefront · production · 5 services found

Exclude RAILWAY_* variablesOn by default. Keep it on unless your app uses them outside Railway.
Recreate databasesCreates Forge databases with fresh credentials and new connection variables.
Deploy after importDatabases deploy first, then your apps once the databases are running.
Bring custom domainsAdded to Forge, ready for you to point DNS when you cut over.
4 of 4 options on
What moves

Your whole project, not just the code.

Forge reads your Railway setup and recreates it. Anything it can't safely recreate is flagged, never guessed.

Services

Git services, Docker image services and databases.

  • Source repo and branch triggers
  • Root directory
  • Build and start command overrides
  • Detected images

Configuration

Everything your app reads at runtime.

  • Service variables, encrypted on arrival
  • RAILWAY_* values left behind
  • Database references become Forge links
  • The environment you choose

Domains

Custom domains come across with their ports.

  • Custom domains imported
  • Ports read from your PORT variable
  • DNS records to update, per domain
DatabaseOn ForgeMoving the data
PostgreSQL✓ Linked by DATABASE_URLpg_dump, then pg_restore
TimescaleDB✓ Linked by DATABASE_URLpg_dump, then pg_restore
Redis✓ Linked by REDIS_URLredis-cli --rdb, then load
MySQL / MariaDB✓ Recreatedmysqldump
MongoDB✓ Recreatedmongodump
ClickHouse✓ Recreatedclickhouse-client export

Databases start empty. To copy data, turn on public networking for the database in Railway and dump it from outside. Railway's internal .railway.internal hosts can't be reached from outside Railway.

After the import

Check it, then switch it on.

Your Railway project keeps running until you move traffic. Take the last steps at your own pace.

  1. 01Check your services

    Every service exists with the right type and settings.

  2. 02Review variables

    Remove anything that only made sense on Railway.

  3. 03Deploy

    Databases first, then your apps. Automatic if you chose it.

  4. 04Test your domains

    Check the generated URLs before touching DNS.

  5. 05Point DNS

    Move your custom domains from Railway to your server.

  6. 06Take a backup

    Run a manual database backup after the first import.

Same app. Your server. Flat price.

Stop paying per service and per gigabyte. Keep the push-to-deploy flow you're used to.

Compare plans
Questions

Before you move.

Will my Railway project stop working during the import? +

No. Forge only reads from Railway. Your project keeps serving traffic until you update DNS to point at your server.

What kind of Railway token do I need? +

An account, workspace or project token from Railway. Forge uses it for the import and never stores it. You can revoke it as soon as the import finishes.

Why wasn't one of my services imported? +

Forge recreates Git services, Docker image services and recognised databases. Anything else is marked unsupported instead of guessed, so you can set it up by hand.

Does my database data come across? +

Not automatically yet. Forge recreates your databases empty and links your apps to them. Copy the data with pg_dump or redis-cli from Railway's public database URL before you switch DNS. The guide has the exact commands.

How much disk space do I need? +

Enough for your cloned apps, Docker images, database volumes and the data you bring over. Check your database sizes in Railway before you start.