Skip to content
LogoLogo

Migration from Railway to CreateOS

Use this guide when your app or backend service currently runs on Railway.

What changes

Railway conceptCreateOS equivalent
Railway projectCreateOS project or app folder
Railway serviceCreateOS deployment service
Service variablesCreateOS environment variables
Start commandStart command
Public networkingCreateOS domain and port configuration
Railway database pluginExternal database connection or CreateOS-managed service

Step by step

  1. Open the Railway project and list every service that belongs to the app.
  2. For each service, collect:
    • Repository
    • Branch
    • Install command
    • Build command
    • Start command
    • Port
    • Environment variables
    • Attached databases, queues, volumes, or storage
  3. Decide whether each Railway service becomes:
    • One CreateOS project
    • One service inside a shared app folder
    • An external dependency that should stay outside CreateOS
  4. Sign into createos.sh/app.
  5. Click Deploy.
  6. Import the repository from GitHub.
  7. Configure the commands and port for the first service.
  8. Add environment variables.
  9. Deploy and verify the service.
  10. Repeat for additional services.

Databases and service-to-service connections

Railway apps often depend on managed Postgres, Redis, or service-generated internal URLs. Before cutover:

  • Export and restore database data if you are moving databases.
  • Update connection strings in CreateOS environment variables.
  • Replace Railway internal hostnames with the new service URLs.
  • Check CORS, callback URLs, webhook URLs, and allowed origins.

Cutover

  1. Deploy all required services on CreateOS.
  2. Verify health checks and logs.
  3. Run a production-like request through the full app.
  4. Add the custom domain in CreateOS.
  5. Switch DNS only after all services are healthy.
  6. Keep Railway available until traffic is stable on CreateOS.