← all SaaS

Self-host Firebase

Backend-as-a-service (auth + DB + storage + realtime) · Category: PaaS & app hosting

Firebase bundles auth, a realtime database, object storage, and serverless functions behind a client SDK. The self-host replacements vary by which slice of Firebase you actually use — Firestore-style document DB vs Postgres vs single-binary BaaS.

Firebase pricing anchor: Free Spark tier; Blaze starts at $0 and scales by reads/writes/storage — easy to hit $50-200/mo on a real app.

Supabase supabase/supabase alive

GitHub
★ 102.1k · last commit 1d ago · 1007 open issues
License
Apache-2.0
Setup time
20min docker-compose (the official self-host bundle)
Monthly cost
$10-20 VPS — Postgres + GoTrue + PostgREST + Realtime + Storage in one stack.
Migration sketch. Auth: export Firebase users via `firebase auth:export users.json` and import into Supabase Auth using the gotrue admin API or Supabase's `auth.users` SQL insert with the password-hash format documented in the Supabase migration guide. Firestore: write a one-off Node script using `firebase-admin` to read collections and `@supabase/supabase-js` to insert into Postgres tables (Firestore docs map to JSONB columns or normalized rows). Storage: download buckets with the Firebase CLI, upload to Supabase Storage with `supabase storage cp`.
Good fit forApps that can live with Postgres-shaped data — most Firestore use is shallow document storage that maps fine to a JSONB column or a relational schema.
Weak atRealtime semantics differ from Firestore's offline cache + listener model; client SDK swap is not transparent.

Appwrite appwrite/appwrite alive

GitHub
★ 56.0k · last commit today · 865 open issues
License
BSD-3-Clause
Setup time
10min docker-compose (single-command install)
Monthly cost
$10 VPS for a small app; the stack pulls a few containers (server, MariaDB, Redis, InfluxDB).
Migration sketch. Auth: Appwrite has a Firebase migration tool in the console — provide your service account JSON and it imports users with hashes. Firestore: the same migration tool reads collections and creates Appwrite databases / collections / documents. Storage: import via the same flow, or use `appwrite storage create-bucket` + a script that downloads from Firebase and uploads via the CLI.
Good fit forApps that want the Firebase shape (multi-DB, auth, storage, functions, realtime) preserved as closely as possible.
Weak atMulti-container stack is heavier than Pocketbase; the Functions runtime is its own thing — Cloud Functions code does not port directly.

Pocketbase pocketbase/pocketbase alive

GitHub
★ 58.2k · last commit today · 17 open issues
License
MIT
Setup time
5min — single Go binary + SQLite
Monthly cost
$5 VPS handles low-to-medium traffic; SQLite + WAL is surprisingly far-reaching.
Migration sketch. Pocketbase uses SQLite, so migration is hand-rolled: write a Node script that reads Firestore via `firebase-admin` and POSTs to Pocketbase's REST API. Auth users likewise — Pocketbase exposes `/api/collections/users/records` for batch user insert (you'll need to either reset passwords or import bcrypt-hashed ones via the admin API).
Good fit forSolo / small team apps where a single-binary, no-ops backend matters more than horizontal scale.
Weak atSQLite ceiling — works for tens of thousands of users, not millions; realtime is via WebSocket but lacks Firestore's offline-first cache.

In a terminal? npx os-alt firebase prints this table — how the CLI works →