Skip to content

Instantly share code, notes, and snippets.

@PARC6502
Last active November 7, 2024 22:08
Show Gist options
  • Save PARC6502/ee4db400a05e6eb6d0981bb8cd4e4c1c to your computer and use it in GitHub Desktop.
Save PARC6502/ee4db400a05e6eb6d0981bb8cd4e4c1c to your computer and use it in GitHub Desktop.
List of open source, self hosted BaaS - Backend as a service

Backend as a Service

Supabase - ~52K stars

  • Designed explicitly as an open source firebase alternative
  • Typescript based
  • Docker support

Appwrite - ~32K stars

  • Written in JavaScript and PHP
  • Docker based
  • Realtime support across all services
  • Advanced security features (virus-scanning, data encryption, auto SSL, rate-limiting)
  • Cross-platform: supports Web, Flutter, Desktop, Mobile and backend - over 10 SDKs: https://appwrite.io/docs/sdks
  • Cloud Functions with +15 runtimes in multiple languages

PocketBase - ~24k stars

  • Go based, with Svelte frontend
  • Doesn't seem to be an official dockerfile/image but there are unofficial images on dockerhub
  • SQLite database
  • Not used it but seems better for smaller projects

Parse Server - ~20K stars

  • JavaScript based
  • MongoDB or PostgreSQL
  • Has dockerfile

nakama - ~7.2K stars

  • Go based
  • Has official Docker images
  • CockroachDB (or another Postgres wire-compatible server)
  • Designed for use with games

nhost - ~6.7K stars

  • Written as a firebase alternative with GraphQL support
  • Typescript based
  • Includes docker-compose example
  • See also Hasura Backend Plus

Kuzzle - ~1.3k stars

  • JavaScript based
  • Elasticsearch as a NoSQL document storage
  • Has Docker Compose file

para - ~500 stars

  • Java based
  • Has official Docker images
  • Database agnostic

LoopBack 4 - ~4k stars

  • More of an api development platform than a BaaS, added here because could be good starting point if developing own BaaS
  • TypeScript and JavaScript based

Conduit - ~300 stars

  • TypeScript based
  • Seems to still be in early development
  • Database: MongoDB, PostgreSQL
  • Database APIs: REST, GraphQL
  • Storage: local, Azure Cloud, Google Cloud, Amazon S3 Cloud
  • Auth: local, 2FA, Google, Facebook, Twitch, Slack, Figma, GitHub, GitLab, Microsoft, magic link
  • Email: Mailgun, Sendgrid, Mandrill, SMTP
  • Also has modules for: SMS, chat, forms, routing, push notifications

Other services

These services aren't exactly Backend-as-a-Service as I understand it, but might still be useful. For now I'll just add links, and I'll add summaries later on.

SurrealDB - ~21k stars

directus - ~22k stars

strapi - ~54k stars

Userbase - ~2.2k stars

Discontinued BaaS

CloudBoost - ~1.4k stars

  • Last commit in Nov 2020
  • JavaScript based
  • Has Docker Compose file
  • MongoDB database

Apache Usergrid - ~1k stars

  • Last commit in Dec 2020
  • Java based
  • cassandra database

SkyGear - ~400 stars

  • Last commit in Jun 2020
  • Seems v. complete but not many users (harder to fix issues)
  • Go based

Further notes

  • 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)
@iamhnxt
Copy link

iamhnxt commented Aug 6, 2024

I learedn about Prisma, PouchDB and lowdb, mongodb realm. Now exactly sure how they fit in here but are probably worth checking out.

@SebConejo
Copy link

SebConejo commented Aug 29, 2024

I learedn about Prisma, PouchDB and lowdb, mongodb realm. Now exactly sure how they fit in here but are probably worth checking out.

@iamhnxt, These are not the same types of solutions. For example, Prisma is an ORM, mongodb is a NoSQL document database...

@bramantyoa
Copy link

Check out Convex! Taken from their readme, it's an open source, self host-able BaaS.

Instant is probably worth mentioning too, it might be useful for the list. The instruction to self host instant is in the server folder.

@jordankamto
Copy link

i think dokploy should be added to the list

@Malix-Labs
Copy link

I guess Coolify is missing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment