Leave Railway without rewriting your app, from your AI agent
Your customers want their data in France, or you want an agent that deploys for you? Connected to while over MCP, it takes over your Railway app as is, copies the database and deploys it.
By Aloïs Oddon, co-founder of Nextmap. Facts checked on November 5, 2026.
Prerequisites
- An app on Railway, in Node.js, Python or Go, or with its Dockerfile.
- The Railway command line, to read your variables and export the database.
- An AI agent that works in a terminal: Claude Code, Codex, Cursor or Gemini CLI.
Step 1: Give your agent these instructions
Open your agent in your app’s folder and paste these instructions into it:
Connect to while with my account (while.sh/agents), then deploy my app.
With your account, your agent adds while’s MCP server itself. On the first call to while, a page opens in your browser: choose “A new app”, then click Authorize.
Step 2: Open your app
Your agent gives you your app’s address, for example https://mon-appli.while.cloud, over HTTPS.
What your agent does
It reads your railway.json or railway.toml, if there is one1, and carries its settings over to while.yaml:
| In railway.json | In while.yaml |
|---|---|
startCommand | the service’s command, command |
healthcheckPath | the health path, health.path |
cronSchedule | a scheduled job, in crons |
dockerfilePath | the service’s Dockerfile, dockerfile |
apiVersion: while/v1
project: mon-appli
services:
- name: web
health:
path: /health
databases:
- name: main
Copy your Railway database
You, to your agent: Copy our Railway database to while.
Your agent exports the database with pg_dump, through the database’s public address (DATABASE_PUBLIC_URL) or through a Railway command-line tunnel, then loads it into while3.
Carry over your variables
You, to your agent: Carry over our Railway variables.
Your agent reads your variables with railway variable list2 and carries them over to while. Sealed variables don’t come out2: those, and your secret keys, you enter yourself in while, and your agent never sees them.
Move to your own domain
You, to your agent: Put the app on www.acme.com.
Your agent declares the domain, you add the DNS records it gives you, and the HTTPS certificate follows.
Go back to the previous version
You, to your agent: Go back to the previous version.
In the 30 minutes after a deployment, the previous version comes back in a second. After that, it takes a few seconds.
In the docs: PostgreSQL databases, Scheduled jobs, Custom domain, Versions and rollback and Variables and secrets.
Next steps
Sources
- Railway, config as code (railway.json, railway.toml), accessed November 5, 2026
- Railway, the railway variable command, accessed November 5, 2026
- Railway, backing up and restoring Postgres, accessed November 5, 2026