Best / Backend-as-a-service
Best open-source Backend-as-a-service
The best self-hosted BaaS in the c17.io catalog is PocketBase (one MIT Go binary — how c17.io itself ships), with Supabase when you want Postgres and will run a multi-service compose, Appwrite as a BSD-3-Clause Firebase-shaped API, and Directus when you want a data studio (MSCL-1.0-GPL, not OSI). App login without a BaaS cluster stays on /stacks/auth-without-the-bill.
Ranked picks
1
PocketBaseMIT realtime backend in one Go file — the published c17 stack.
When to pick it: An app that fits SQLite on one node.
61,483 stars in the catalog
2
SupabaseApache-2.0 Postgres/BaaS. Self-host is several services; hosted plans are a meter — /compare/supabase-vs-pocketbase.
When to pick it: Postgres as the app database.
111,734 stars in the catalog
3
AppwriteBSD-3-Clause backend: auth, databases, storage, functions — /compare/supabase-vs-appwrite.
When to pick it: A Firebase-shaped API without betting the schema on Postgres.
57,723 stars in the catalog
4
DirectusTurns a database into an API and admin. License is MSCL-1.0-GPL, not OSI — already the CMS caveat.
When to pick it: A source-available data studio, not the OSS path.
38,544 stars in the catalog
How they compare
| Tool | License | Self-host | Best for |
|---|---|---|---|
| PocketBase | MIT License | Easy | An app that fits SQLite on one node. |
| Supabase | Apache License 2.0 | Medium | Postgres as the app database. |
| Appwrite | BSD-3-Clause | Medium | A Firebase-shaped API without betting the schema on Postgres. |
| Directus | MSCL-1.0-GPL | Medium | A source-available data studio, not the OSS path. |
Related pages
FAQ
- PocketBase or Supabase?
- PocketBase if you want one binary (the published stack). Supabase if you want Postgres and accept a compose — /compare/supabase-vs-pocketbase.
- Why not Directus as the default?
- Useful, and not OSI open source. PocketBase is MIT. Payload and Strapi Community stay on /best/cms.
- Are these free?
- PocketBase is MIT. Supabase's listed repo is Apache-2.0. Appwrite is BSD-3-Clause. Directus is source-available. You pay hosting or the vendor cloud. Template users never pay c17.
- How do I deploy PocketBase?
- Open /stacks/go-pocketbase-htmx. Persist /data, bind 0.0.0.0:$PORT.
Stack of the Week
Get one stack a week that replaces a SaaS bill.