Note on sizes: a lot of those might be inaccurate as there might be many microservices required aside from the core release/docker image. I haven't tested these recently so I'm not sure
Supabase - ~94.9K stars
- Designed explicitly as an open source Firebase alternative
- Typescript based
- Docker support
- Full Postgres database with Realtime subscriptions
PocketBase - ~54.5K stars
- Release size: ~12 MB
- Go based, with Svelte frontend
- Distributed as a single portable executable (easy to deploy)
- Embedded SQLite database (WAL mode) with realtime subscriptions
- Extremely lightweight, ideal for small to medium projects
Appwrite - ~53.9K stars
- Docker image size: ~500 MB
- Written in JavaScript and PHP
- Docker based microservices architecture
- Realtime support across all services
- Advanced security features (virus-scanning, data encryption, auto SSL, rate-limiting)
- Cross-platform SDKs for Web, Flutter, Mobile, and Desktop
- Cloud Functions with +15 runtimes
Parse Server - ~21.3K stars
- Docker image Size: ~70 MB
- JavaScript based (Node.js/Express)
- The original open-source BaaS
- Supports MongoDB or PostgreSQL
- Has official Dockerfile
Nakama - ~11.9K stars
- Release Size: ~20 MB
- Go based
- Has official Docker images
- Requires CockroachDB or Postgres
- Specifically designed for gaming (matchmaking, leaderboards, chat, multiplayer)
Instant - ~9.5K stars
- Clojure based (backend) with TypeScript SDKs
- "Firebase, but for the modern web"
- Client-side database that handles optimistic updates, offline caching, and relational queries automatically
- Uses a triple-store on top of Postgres
Nhost - ~9K stars
- Written as a Firebase alternative with GraphQL support (via Hasura)
- Typescript based
- Includes docker-compose example
- Provides Auth, Storage, and Serverless Functions
Convex - ~8.6K stars
- Release Size: ~50 MB
- Rust and TypeScript based
- Recently open-sourced reactive backend
- Functions run transactionally and push updates to the client via WebSockets automatically
- Strong focus on Type safety
LoopBack 4 - ~5.1K stars
- More of an API development platform than a pre-packaged BaaS
- TypeScript and JavaScript based
- Good starting point if building a custom BaaS
bknd - ~3.4K stars
- Minimum Size: ~0.3 MB
- TypeScript based
- Visual backend for database management and workflows
- Lightweight and designed to run in diverse environments
Manifest - ~3.2K stars
- TypeScript based
- The "1-file backend" - define your database, admin panel, and API in a single YAML file
- Designed for rapid prototyping
Kuzzle - ~1.6K stars
- Docker image Size (kuzzle runner): ~200 MB
- JavaScript based
- Elasticsearch as a NoSQL document storage
- Has Docker Compose file
TrailBase - ~4.3K stars
- Release Size: ~20 MB
- Rust based
- Single-file executable using SQLite and V8 (for JS/TS server-side logic)
- Focuses on simplicity and performance
Conduit - ~800 stars
- TypeScript based
- Database support: MongoDB, PostgreSQL
- Modular architecture: Storage (S3, Azure, Google), Auth, Email, SMS, Chat
Para - ~550 stars
- Release Size: ~100 MB
- Java based
- Has official Docker images
- Database agnostic
These services aren't exactly Backend-as-a-Service (usually headless CMS or Database layers), but are often used in similar contexts.
Strapi - ~70.7K stars
Directus - ~33.7K stars
SurrealDB - ~29.1K stars
Userbase - ~2.3K stars
CloudBoost - ~1.4K stars
- Last commit in Nov 2020
- JavaScript based
- MongoDB database
Apache Usergrid - ~1K stars
- Last commit in Dec 2020
- Java based
- Cassandra database
SkyGear - ~400 stars
- Last commit in Jun 2020
- Go based
- Platform as a service? Is one needed alongside BaaS? Dokku markets itself as mini heroku, maybe a good one to try first (e.g. Flynn, tsuru, openshift, dokku, cloud foundry)
Great list - thanks!. You could also consider adding https://github.com/trailbaseio/trailbase (author here). It uses Rust + SolidJS + SQLite, https://trailbase.io/comparison/pocketbase/ talks a bit how it relates to and differs from PocketBase.
Thanks again for your list!
NIT: I'm not sure what you mean by SupaBase is "Typescript based". SupaBase is a microservices architecture around Postgres. It uses a wide range of languages including also Rust, Haskell and Elixir.