Skip to content

Instantly share code, notes, and snippets.

@PARC6502
Last active October 31, 2024 05:11
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)
@denvist
Copy link

denvist commented May 31, 2019

Hmm... What about strapi, kuzzle and maybe deployd?

@eldadfux
Copy link

eldadfux commented Apr 3, 2020

Appwrite - ~15.7K stars

  • 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

Appwrite

https://appwrite.io

@gigabyteservice
Copy link

@eldadfux do you know when we should use Appwrite and when Strapi?

@eldadfux
Copy link

@gigabyteservice Appwrite is a BaaS, Strapi is a CMS. Appwrite is used by developers. Strapi is used by content editors and partially developers. You can use Appwrite to build a Strapi like product.

@alpap
Copy link

alpap commented Mar 24, 2022

checkout supabase https://supabase.com/

@Guillux
Copy link

Guillux commented Aug 3, 2022

check nhost as well

@gigabyteservice
Copy link

@eldadfux can you please give me 3-4 examples of when we should use Appwrite and Strapi. @alpap I know superbase but it's not supporting MongoDB or any other noSQL DB. @Guillux does nhost supports MongoDB? I have not found any other similar to rethinkdb which has built-in support for real-time syncing

@joshpetit
Copy link

Pocket base is another one!

@alpap
Copy link

alpap commented Nov 17, 2022

@gigabyteservice Strapi, pocketbase, Directus are good if you want to just build a single application, while Appwrite and supabase are great when you have a multi tenancy or multiapp scenario. For example if you have a single app you could just use Strapi, but if you know you will build more projects and you don't want to spend time setting up pipelines and deploying more resources you should use Appwrite/supabase

@builderdotnet
Copy link

supabase in its open source version is unfortunate, practically everything is limited! only the DB handler works

@anhtuank7c
Copy link

I would like to add PocketBase to the list
image

@ibilux
Copy link

ibilux commented May 29, 2023

supabase in its open source version is unfortunate, practically everything is limited! only the DB handler works

Are you sure ?!

@PARC6502
Copy link
Author

supabase in its open source version is unfortunate, practically everything is limited! only the DB handler works

Are you sure ?!

yer, that is true, tho i did love it but it is now close source to me, no point in it anymore, i wish caprover was still active, it was the best i have use so far that was truely open source

Can you link me any sources on this? From the documentation, it seems like you can still self host everything for free. I'll try self hosting it in the next couple weeks to confirm this, if so I'll add a note to the gist

@mc-stephen
Copy link

Can you link me any sources on this? From the documentation, it seems like you can still self host everything for free. I'll try self hosting it in the next couple weeks to confirm this, if so I'll add a note to the gist

My mistake, I was actually talking of something else, my bad, supabase is really good tho, but it doesn't have much integration with other langs

@tesla4321
Copy link

@tymon3568
Copy link

tymon3568 commented Nov 25, 2023

Appwrite - ~15.7K stars

  • 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

Appwrite

https://appwrite.io

@eldadfux why appwrite don't code backend with rust or zig for best speed, you use svelte for frontend and ui with best speed, so why?? is appwirte faster supabase?

@meetminh
Copy link

Supabase vs. Appwrite. What are your experiences? I am building a medium size App, self hosting. Having a rust backend tightly connected to my DB.

@soranoo
Copy link

soranoo commented Jun 8, 2024

supabase in its open source version is unfortunate, practically everything is limited! only the DB handler works

Are you sure ?!

yer, that is true, tho i did love it but it is now close source to me, no point in it anymore, i wish caprover was still active, it was the best i have use so far that was truely open source

Can you link me any sources on this? From the documentation, it seems like you can still self host everything for free. I'll try self hosting it in the next couple weeks to confirm this, if so I'll add a note to the gist

You can self-host superbase but you won't get all the features the cloud version is given like the project management.
As I know superbase is not a fully open-source project as some of the packages are closed source.

@SebConejo
Copy link

SebConejo commented Jul 31, 2024

Hello @PARC6502,

Do you know Manifest? It's an open-source, self-hosted BaaS. It allows you to create a complete backend by defining your data structure in a single YAML file, making it quick and easy.

We've released a proof of concept (PoC) in June to validate our approach, which received over 400 stars and 2,500 downloads. We're now developing the MVP with the community.

Feel free to test it and add it to your list.

Manifest - ~500 stars

  • TypeScript based
  • In Proof-of-Concept (PoC) stage
  • Database: PostgreSQL
  • Database APIs: REST
  • Storage: local
  • Auth: local,

@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

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