Updated

Self-hosted Backend-as-a-Service: BaaS you actually own

Backend-as-a-Service is a model where a vendor runs your app's server side — auth, database, storage, functions — behind their APIs. A self-hosted, open-source BaaS gives you those same building blocks as code you own and run on your own infrastructure, with no vendor lock-in. Here's the category, honestly — and the options that let you keep the keys.

What a Backend-as-a-Service provides

Every BaaS — rented or self-hosted — bundles the same four building blocks so you don't build them from scratch:

  • User authentication: sign-up, login, password resets, social logins and sessions.
  • A database: structured storage with an API in front of it — Postgres, SQLite or a document store.
  • File storage: uploads, avatars, documents and the serving infrastructure around them.
  • Server-side logic: the functions, APIs and integrations (including payments) that make it a product.

The category question is not what you get — it's who holds it. Firebase and hosted Supabase run these blocks for you, on their pricing and their roadmap. Self-hosted platforms hand you the software. And an AI-built framework like jerrycan hands you the code.

Rented vs self-hosted vs owned

Rented BaaSFirebase, hosted Supabase, Back4App Self-hosted platformAppwrite, PocketBase, Parse Owned backendjerrycan
Who runs it The vendor, on their cloud. You operate their platform on your servers. You run one compiled binary you own.
Who owns the code They do — you configure it. Open source, but your logic lives in their platform’s shape. You — plain Rust in your repository.
Pricing shape Usage-based; grows with your success. Free software + your ops time. Free software + a flat server bill.
Exit path Migration project; SDKs woven through your app. You already hold the data; the platform stays. Nothing to exit — it was yours from day one.
Ops burden None. A multi-service platform to upgrade and monitor. One process and a database.

The open-source options, honestly

jerrycan

Rust · Apache-2.0 · one binary

The ownership endpoint of this list — not a platform you operate but a codebase you own. Your AI agent assembles auth, data, files and payments from jerrycan’s built-ins as plain Rust in your repository, then deploys the compiled binary to a server you choose (or with instantly hosted Postgres via Render). There is no console, no service mesh, and nothing to rent.

Honestly: Youngest project here; if you don’t build with AI agents, its core advantage doesn’t apply to you.

How jerrycan works

Appwrite

TypeScript · BSD-3-Clause · Docker Compose

The most direct open-source Firebase alternative: auth, databases, storage, functions and messaging behind one API, self-hosted as a Docker Compose stack with strong mobile SDKs.

Honestly: You operate a platform of services, and your product logic lives in functions plus console configuration rather than one codebase.

Supabase (self-hosted)

TypeScript · Apache-2.0 core · ~10 services

The open-source components of the popular hosted platform — Postgres at the core, with auth, storage and realtime around it. Self-hosting keeps your data on your metal with a standard database underneath.

Honestly: Running it means operating roughly ten coordinated services; most teams underestimate this. The honest breakdown is in our dedicated post.

Read the detailed breakdown

PocketBase

Go · MIT · one binary

A single Go binary embedding SQLite, auth, files and a realtime API. The smallest real backend you can self-host — download one file, run it.

Honestly: Single-node SQLite means vertical scaling only, and it is essentially a one-maintainer project.

Parse Server

JavaScript · Apache-2.0 · Node app

The original open-source BaaS, community-maintained for over a decade: auth, data, files, push and cloud functions as a self-hosted Node application.

Honestly: Mature but past its momentum peak; hosting, dashboard and adapters are assembled by hand.

Directus

TypeScript · BSL 1.1 · Node app

Wraps any SQL database with REST and GraphQL APIs plus an excellent admin app — ideal when your data already exists and needs an interface.

Honestly: BSL 1.1 is not OSI open source (free below a revenue threshold), and it is a data platform rather than a full app backend.

The exit path is the whole point

Lock-in is not a feeling; it's a migration bill you haven't paid yet. Rented BaaS weaves its SDKs through your client code and expresses your logic as platform configuration — leaving means rewriting both. Self-hosting an open platform keeps your data on your metal, but your product still speaks that platform's dialect. Owning the backend closes the question: with jerrycan the deliverable is the code — plain Rust and a standard database in your repository — so there is nothing to migrate away from, ever. That's also the honest reason this page exists: "open-source BaaS" is the category people search, but ownership is what they're actually looking for.

When rented BaaS is the right call

Fairness matters: if you're validating an idea this weekend, a hackathon prototype's future is measured in days, or your team has zero appetite for operating anything — hosted Firebase or Supabase is a rational choice, and their free tiers are genuinely generous. Rent when the product is disposable. Own when it's the business.

Questions, answered straight
What is backend as a service?

Backend-as-a-Service (BaaS) is a model where a vendor runs your application’s server side — authentication, database, file storage and functions — behind their APIs, so you build the frontend and rent the rest. A self-hosted, open-source BaaS gives you those same building blocks as software you run on your own infrastructure, with no vendor lock-in.

What is an open-source BaaS?

An open-source BaaS provides the standard backend building blocks — auth, data, files, APIs — as source code you can inspect, modify and self-host. The main options in 2026 are jerrycan, Appwrite, Supabase’s open-source components, PocketBase and Parse Server. They differ mostly in how much platform you must operate and whether the result is a service you run or code you own.

Can you self-host a backend as a service?

Yes. Appwrite, PocketBase, Parse Server and Directus are designed for self-hosting, and Supabase publishes its platform for self-hosting (around ten coordinated services). jerrycan goes a step further: instead of self-hosting someone’s platform, your AI builds the backend as plain Rust code you own, deployed as a single binary.

What is the best open-source alternative to Firebase?

Appwrite and Supabase are the closest like-for-like open-source Firebase alternatives — hosted-style platforms you can run yourself. PocketBase is the lightest option. If your goal is ownership rather than a platform — code and data as your IP, built by your AI agent — jerrycan replaces the platform entirely with a Rust backend in your own repository.

What is the difference between BaaS and a backend framework?

A BaaS is an operated service you consume through SDKs; a backend framework is code you build with and own. BaaS optimizes time-to-first-prototype; a framework optimizes ownership, portability and cost at scale. jerrycan is a backend framework designed so an AI agent does the building — closing the convenience gap that made teams choose BaaS in the first place.

Related reading

Own the backend behind your SaaS

Point your AI at jerrycan — it builds a real Rust backend for your REST APIs that's yours to keep.