Google Firebase is a Google hosted cloud real-time NoSQL database for building mobile, web and desktop applications.
It offers a database backend, an API, user registration and authentication, monitoring, user permissions, file and attachment store, and more.
With Firebase, all what developers need to start building an app is a Google account, and setup their developer account, setup their first Firebase app and use the credentials in their apps.
Firebase saves developers a great deal of time and effort to for setup and support. It takes the headache of server maintenance, upgrade, security and DevOps cost. It also comes with a large set of development libraries, SDKs and extensions which make development of an app a blaze.
It is an ideal solution for mobile developers and companies, especially as it integrates with other Google services like Analytics, Google Ads, Google Play Store, Data Studio and other third-party service like Slack and Jira. However, it is not completely free.
So, in this article we have reviewing a list of open-source self-hosted Google Firebase alternative for developers and companies.
Why do we need self-hosted Firebase Alternatives?
- Stay in-control of your data: You will host the database, backend and files on your server.
- Cost: The cost for running an open-source software in your own hardware is minimal comparing to a SaaS system.
- Privacy: a self-hosted system, helps you to keep your data and user activities private.
Open-source database backend server and Google Firebase alternative
Subabase is an open-source database with a backend solution which helps developers create their backend in seconds. Like Google Firebase, it offers a database setup (PostgreSQL), control dashboard, authentication to manage user login and registration, a storage for file uploading and management and extra server functions like cron jobs.
Subabase storage offers a full support for images, documents, and videos.
If you are looking for enterprise-grade solution with similar functionalities like Firebase so, Subabase is the right answer, but keep in mind it is still under heavy development.
Parse server is an open-source database backend solution which speed up application building. It features database, user management, authentication, file upload and push notification.
I used Parse for a few times, and I was satisfied with the speed and productivity it offers, especially in terms of developer tools as it comes with dozens of SDKs, libraries and sample code to speed up the production process.
Appwrite is a self-hosted backend server for building web, mobile and desktop apps. It supports multiple applications natively without hacks or workarounds.
It features a dashboard for apps, database, user, functions and storage management, real-time analytics per project, live connections monitor, background tasks and webhooks.
Appwrite also is suitable for creating Geo-data and location-based apps, it also comes with a console to track API usage for all applications.
Appwrite offers SDK for Flutter, NodeJS, Kotlin, Objective-C, PHP, Ruby, Python, Java and Go programming.
Kuzzle is an open-source scalable server with multiprotocol API, admin console and modular infrastructure for building real-time apps.
It includes fast full-text search, geofencing and real-time pub/sub data exchange and sync. Therefore, it is suitable for building mobile apps, games, and web apps.
Etebase is a self-hosted open-source backend server for building secure applications. It offers an end-to-end encryption, revision history, sharing, access control and built-in billing service.
Etebase is a Libre project which is released under AGPL-3.0 License.
Horizon offers a subscription layout for creating real-time apps, user account API, authentication with external service and social login support (Google, Facebook, Twitter, LinkedIn) and a permission management API.
Horizon uses WebSocket for real-time communication which makes it ideal for creating messaging and communication applications.
SapphireDb is a self-hosted real-time database for .Net apps. It features a simple configuration, model validation, offline-first support, join and include operations, complex queries, actions, authentication, messaging and rich set of developer-friendly libraries and SDKs.
RethinkDB is an open-source real-time database engine for creating modern reactive apps.
It features a rich dashboard with real-time analytics and graphs, data explorer, simple learning curve, rich data models and queries with Geospatial queries support, and a large set of administration tools.
The official binary packages for RethinkDB are available for: Ubuntu, Debian, CentOS, and macOS. RethinkDB`s community released some unofficial packages for: Fedora, openSUSE, Arch Linux, Linux Mint, Raspberry Pi (Raspbian) and Gentoo.
I used it in a couple of projects, and I highly recommend it for small, simple and lightweight mobile or web applications.
CouchDB is a multipurpose open-soure database engine with a developer-friendly API and rich web admin dashboard. It offers user crud operation and authentication out-of-the-box. It also supports documents upload, file attachment and storage.
CouchDB is proven to build offline-first apps with PouchDB support. It has a dead-simple configuration and works seamlessly on Windows, Linux, macOS and low-resources Linux servers.
Baserow is a low-code and no-code database application layer with a rich REST-API headless mode for building a data-rich web and mobile apps.
It features a multi-project (app) support, dynamic data tables view with a rich control panel which comes with Kanban and Calendar views as well. It supports real-time collaboration and unlimited data row display.
Baserow is built on top of Django (Python web development framework), NuxtJS (Vue Framework) and uses PostgreSQL for database.
The system can be extended by developers with a developer-friendly extension API.
Hoodie is a database backend server/ client framework for creating web, desktop and mobile apps.
Offline-first is a unique features for Hoodie because it uses PouchDB to sync the data between client and server.
Under the hood, Hoodie uses Hapi framework. The project has not been updated for some time, the main website is offline, and its current status is unknown, so you may consider not using it in production.
SuberTokens is a self-hosted open-source user authentication backend for startups and companies. It helps developer building a user-based workflow without the complication of complex authentication layer.
SuberTokens offers user authentication, tokens management, session management, forget email workflow, email verification, social login support, and easy front-end implementation.
The project is under a heavy development, so stay tuned for incoming features like: Passwordless login, 2FA; Two-factors authentication (SMS, EMAIL, App-based), more framework and languages libraries like Flask, Django and others.
The main reason why we added SuperTokens here is, some developers may need such a tool for unified authentication and login with this list.
In the end
Google Firebase platform helps developers to create mobile and web apps faster, but it comes at cost of privacy and portability. This article covers the open-source alternatives for Google Firebase, with a primary goal to help developers match their requirements with the solution on this list to find the best result.
If you know any other solution that should be on this list, please feel free to send us a message, and we will gladly add it here.