Stop renting software.

← All tools · BaaS

Open source alternatives to Firebase

Spark plan is no-cost with quotas. Blaze is pay-as-you-go on Google Cloud usage (Firestore, Functions, Storage, etc.); no flat monthly SaaS fee. Here are 3 self-hostable options – free to run on your own server.

supabase

★ 111.6kApache-2.0
self-host: medium

supabase/supabase

appwrite

★ 57.7kBSD-3-Clause
self-host: medium

appwrite/appwrite

pocketbase

★ 61.4kMIT
self-host: medium

pocketbase/pocketbase

Build it yourself with AI

PocketBase-sized clone (auth + SQLite/Postgres + file storage + realtime) is a strong vibe-code target. Matching full Firestore/Cloud Functions parity is much harder.

Paste this prompt into Cursor, Claude Code, Codex or any coding agent to build a minimal self-hosted Firebase clone, deployable with Docker on a VPS.

You are a senior full-stack engineer. Build a minimal, self-hosted clone of Firebase (BaaS) that I can run on my own VPS. Keep it small, production-sane, and easy to maintain.

## Goal
Replace my paid Firebase subscription for a single person or small team. MVP only — no billing, no enterprise features.

## Core features (build exactly these)
1. email/password and OAuth user auth with JWT sessions
2. document/JSON database with realtime listeners
3. file storage upload/download with security rules
4. serverless HTTP/background functions
5. client SDKs for web with offline cache

## Stack
- Next.js (App Router, TypeScript) + Tailwind + shadcn/ui
- PostgreSQL with Drizzle ORM (migrations checked in)
- Auth: Better Auth (email + password, optional GitHub OAuth); every query scoped to the signed-in user/workspace
- Background jobs (if needed): pg-boss on the same Postgres
- File storage (if needed): S3-compatible (MinIO container)

## Data model (start here, extend only if required)
User, Collection, Document, FileObject, Function, SecurityRule
Use UUID primary keys, createdAt/updatedAt on every table, and foreign keys with sensible ON DELETE behavior.

## Deliverables
1. Working app with the features above and a clean, minimal UI
2. docker-compose.yml with app, postgres, minio and Caddy (automatic HTTPS) — `docker compose up -d` must be all I run
3. .env.example documenting every variable; no secrets in code
4. Seed script with demo data
5. README: local dev, deploy on a fresh Ubuntu VPS (install Docker, set DNS A record, compose up), backups (pg_dump cron), and updating

## Rules
- Build in small steps; after each feature, run typecheck and the app, and fix errors before moving on
- Validate all input with zod; rate-limit public endpoints
- Write a few Playwright smoke tests for the main flow
- Ask me before adding any dependency beyond the stack above

For reference (study the approach, don't copy code): https://github.com/supabase/supabase, https://github.com/appwrite/appwrite, https://github.com/pocketbase/pocketbase

Recommended hosting

Disclosure: some links are affiliate links. If you sign up through them we may earn a commission at no extra cost to you. It never affects which tools we list. Details

One self-hosted swap per week

A new SaaS teardown and its open-source replacement, every week. No spam.

We only use your email to send the SelfHostThis newsletter (stored with our email provider Resend, EU). Every email has a one-click unsubscribe link, and you can ask us to delete your data anytime. We use double opt-in. Datenschutz · Privacy policy