// Migration Guide · 2026

Migrate from Firebase to Runsite

Firebase ties you to Google's ecosystem and uncapped Blaze billing. Runsite reads your firebase.json and gives you a portable full stack — web service, managed PostgreSQL and Redis — in Frankfurt, with a true hard spending cap.

{ }
firebase.json
on Firebase
git push → build
EU
live stack
Frankfurt · eu-central
~20 min
typical migration
Escape vendor lock-in
keep your workflow
Keep Firebase running
until you cut over
100% Data Ownership
Frankfurt EU Data Center
0 Vendor Lock-in
Free Tier — Forever

// the mental model

Every Firebase concept has a Runsite home

Firebase spreads your app across Hosting, Functions, Firestore and Auth. Runsite maps each onto portable, standard infrastructure you fully control.

firebase.json
{
  "hosting": {
    "public": "dist",
    "rewrites": [
      { "source": "/api/**", "function": "api" }
    ]
  },
  "functions": { "source": "functions" }
}
  • Firebase Hosting
    firebase
    Static / SSR web service auto
    public dir served directly; SSR supported
  • Cloud Functions
    firebase
    Always-on web service auto
    Run your API as a persistent service, no per-invocation billing
  • Firestore
    firebase
    Managed PostgreSQL you do
    Model your data relationally; export and import once
  • Realtime Database / cache
    firebase
    Managed Redis you do
    Repoint ephemeral/state reads at managed Redis
  • Firebase config
    firebase
    Environment variables auto
    Non-secret config imported; secrets pasted once
  • Hosting rewrites
    firebase
    Routing rules you do
    Recreate /api/** rewrites as service routes

// step by step

From Firebase to live in the EU

Six steps. Most of them take seconds. Firebase keeps serving traffic until you flip your DNS.

  1. 1

    Create a Runsite project

    ~30 sec

    Sign in at runsite.app and create an empty project. No credit card, no sales call.

  2. 2

    Connect your Git repo

    GitHub · GitLab · Bitbucket

    Authorize GitHub, GitLab or Bitbucket. Runsite scans the selected branch for your firebase.json and detects the stack automatically.

  3. 3

    Review the detected setup

    Full preview before provisioning

    Runsite lists every service, database and env var it found and how each maps onto a Runsite resource. Tweak build or start commands inline. Nothing is created yet.

  4. 4

    Provision in Frankfurt

    One click · eu-central

    Create the whole stack in one step. Cross-resource env vars are wired up for you, and you get fresh database and Redis credentials in the EU.

  5. 5

    Drop in your secrets

    Secrets stay out of Git

    Secret values are never read from your repo. Paste API keys and tokens once in the dashboard; they're encrypted at rest and never logged.

  6. 6

    Push to go live

    Live in < 2 min

    git push and your app builds and deploys in the EU in under two minutes. Point your custom domain when ready. Firebase keeps running until you cut over.

// no surprises

What moves on its own — and what you touch

Honest about the boundaries. The supported stack is recreated in one click; a short list needs a human, and Runsite flags every item.

Imported automatically

  • Static / SSR hosting build output
  • Build and start commands from your repo
  • Non-secret config values
  • Custom domains (after DNS cutover)

You handle once

  • Firestore data — model relationally and import into PostgreSQL
  • Cloud Functions with stateful needs — recreate as services
  • Auth — migrate users to your chosen auth provider
  • Secret config — paste once after import

// firebase problems → runsite solutions

Common Firebase frustrations — sound familiar?

Every Firebase frustration, solved.

Firebase problem

"Firebase locks me into Google"

Firestore, Cloud Functions, Firebase Auth — proprietary services that don't work outside Google Cloud.

Runsite solution

Open standards everywhere

PostgreSQL, Docker, S3. Standard tools that work on any platform.

Firebase problem

"GDPR compliance is complicated"

Firebase requires a Google Cloud DPA, data residency configuration, and careful SDK setup for EU compliance.

Runsite solution

GDPR by default

EU entity. EU servers. No configuration needed. Compliant from day one.

Firebase problem

"Costs spike with traffic"

Firebase charges per document read/write. A viral moment can mean a massive surprise bill.

Runsite solution

Fixed pricing + spending caps

Predictable monthly bills with hard limits. Traffic spikes don't break the bank.

// comparison

Runsite vs Firebase

Side-by-side. No marketing fluff — just facts.

Feature Runsite Firebase
Vendor Lock-in Open standards, Docker Proprietary SDKs
EU Data Centers Frankfurt (eu-central) europe-west regions
GDPR Compliance EU entity, full compliance Complex DPA required
Backend Hosting Full containers Cloud Functions only
Database Standard PostgreSQL Firestore (proprietary)
Pricing Transparency Fixed plans Pay-per-read/write

Migrating from Firebase, answered

Can I escape Firebase's uncapped Blaze billing?

Yes. Runsite bills in EUR with a true hard spending cap, so usage physically cannot exceed your limit. This is the opposite of Blaze, where per-operation Firestore charges and function invocations have no upper bound.

How do I migrate Firestore to Runsite?

Runsite uses managed PostgreSQL, so you model your Firestore collections relationally and import the exported data. This is the largest part of a Firebase migration, but it removes per-read/per-write billing and document-database lock-in.

What happens to my Cloud Functions?

Your function code runs as an always-on web service instead of per-invocation serverless. Most HTTP handlers port over with minor changes, and you stop paying per invocation.

Is there downtime migrating from Firebase?

No. Firebase keeps serving traffic while you build and verify on Runsite, then you switch DNS to cut over. Plan the Firestore data import as a one-time step before cutover.

Why migrate from Firebase to Runsite?

Runsite gives you portable, standard infrastructure in the EU — no Google lock-in, a Frankfurt region for GDPR, predictable EUR pricing with a hard spending cap, and a permanent free tier.

Leave Firebase behind

Bring your firebase.json. We'll handle the rest — in Frankfurt.

Start your migration →
No rewrites Zero downtime Deploy in 2 min EU servers