Railway bills usage-based, charging per-second for every service you run. Miget works differently: you buy a fixed-price Resource plan and deploy unlimited services into it. The Fair Scheduler shares CPU across everything you run, so adding another service never changes your bill. If you have been watching your Railway usage meter climb, this guide walks you through moving your project over.

What maps to Miget

RailwayMiget
ServiceApp
Plugin / DatabaseManaged addon (PostgreSQL, Valkey)
VariablesEnvironment variables
Usage-based billingFixed-price plan
Your Railway apps read the injected $PORT variable. Miget sets an immutable PORT=5000 and routes public traffic there, so apps that already bind to $PORT need no code change.

Migration steps

1

Recreate your services

For each Railway service, create an app in a single Miget Resource. Railway auto-detects your build with Nixpacks; Miget’s buildpacks similarly auto-detect the language from marker files (like package.json, requirements.txt, or go.mod). If you already have a Dockerfile, bring it and Miget will use it instead.
2

Push your code

Deploy with a git push miget, or connect the GitHub integration to build automatically on every push. See Git push to builder for details.
3

Move your databases

Provision a managed PostgreSQL addon to replace Railway Postgres - Miget injects DATABASE_URL automatically. Migrate your data with pg_dump from Railway and pg_restore into Miget. For Railway Redis, add a Valkey addon, which injects REDIS_URL.
4

Set your variables

Copy your Railway variables over as Miget environment variables. Database connection strings are injected for you, so you only need to move your own app config.
5

Point your domain

Add your custom domain and Miget provisions TLS automatically. Update your DNS records as described in Custom domains.
Running a multi-service Railway project? On Railway each service adds to your usage bill. On Miget you deploy every service as an app in one Resource for a single fixed price - or define the whole project in a compose.yaml and deploy it as a Compose Stack. Either way, the Fair Scheduler shares CPU across all of them and your price stays the same.

Next steps

Resource plans

See how a fixed-price plan hosts unlimited services.

Fair Scheduler

Understand how CPU is shared across your apps.

Compose Stacks

Deploy a whole multi-service project from one file.

Pricing

Compare plans and find the right fit.