← All migration guides

Coming from Firebase

Firebase is Google's backend-as-a-service, running entirely on Google's infrastructure with usage-based pricing. Here's how to move your backend to a server you own.

Why teams leave Firebase

Firebase is a fast way to ship a mobile or web app backend without managing a server. The friction shows up as usage grows: Firestore reads and writes, Cloud Functions invocations and bandwidth are all billed separately, and the bill can become hard to predict.

Railyard runs your backend as a normal server process on a flat price per team, with Postgres, MySQL or Redis as a managed addon.

What comes with you

  • Your backend logic, rewritten to run as a standard app on a Dockerfile, buildpacks, or a Procfile, instead of as Cloud Functions.
  • Your environment variables and secrets.
  • Firestore data, exported and migrated into a relational schema on a managed Postgres addon.
  • Firebase Auth users, exportable and importable into your own auth system or a library.

The move

  1. Attach a server: an existing one, or a new one Railyard provisions in your cloud account.
  2. Add your repo and attach the Postgres, MySQL or Redis addon your app needs.
  3. Migrate your data out of Firestore into your new schema.
  4. Deploy to a temporary URL. Run your release task and verify.
  5. Move DNS. There is no outage; Firebase keeps serving until the cutover.

What’s different

A flat price per team instead of per-read, per-write and per-invocation billing, and a server you can reason about instead of a collection of managed services.

Bring your Firebase app to a server you own.

Add a server, point Railyard at your repo and deploy. Switch DNS when it works. Your old app keeps serving until then.

Free plan, no card, and 14 days of Pro for every new team. One flat price per team.