Self-hosted

Appwrite

Authentication, databases, storage and functions behind a single install command.

57.3k stars BSD 3-Clause TypeScript
4.4 / 5 Editor score

What it is

Appwrite is a backend platform that bundles the services a typical app needs: user authentication with many OAuth providers, a document database with per-document permissions, file storage with image transformations, serverless functions and messaging. Everything is exposed through SDKs for web, mobile and server languages.

It installs through one Docker command that runs an installer and asks a few questions about ports and hostnames before bringing up its own set of containers. Current versions serve a web setup wizard on port 20080. After that, most day-to-day configuration happens in the console rather than in configuration files.

It suits teams that want a Firebase-shaped product but self-hosted and open source, and who would rather adopt opinionated built-in services than assemble Postgres, an auth provider and an object store themselves.

Why we recommend it

Permissions are modelled per document

Appwrite has a first-class concept of roles and per-document read and write permissions, which is often exactly the part people end up building by hand on top of a raw database.

One installer, then a console

There is no compose file to write by hand and no dozen services to tune. Answer the installer questions, and the rest of the configuration is done from the web console.

SDKs cover most platforms

Web, Flutter, Android, iOS, React Native, Node, Python, PHP, Ruby, Go, Dart and Kotlin clients are generated from the same API, so one backend serves every target you ship.

BSD 3-Clause keeps commercial use straightforward

Unlike the AGPL projects around it, Appwrite places no copyleft obligation on the application you build with it.

How it scores

Ease of setup 4.0
Documentation 4.5
Community & support 4.5
Performance 4.0
Maintenance & activity 5.0

These are our editorial ratings, not benchmark results. We score on how the project behaves in practice — how long it takes to get running, how good the documentation is, how responsive the maintainers are, and how well it holds up over time. The licence and star count above are read from GitHub and are a snapshot.

Pros and cons

Strengths

  • Single install command with a guided setup wizard
  • Auth, database, storage, functions and messaging already integrated
  • Broad official SDK coverage across web, mobile and server languages
  • Permissions and roles built into the data model
  • Console-based administration rather than file-based configuration

Trade-offs

  • Resource-hungry: the installer asks for several CPU cores and gigabytes of RAM before it will proceed
  • It manages its own containers, so you inherit a stack you did not design and cannot easily trim
  • Moving off it means exporting from Appwrite abstractions rather than taking a plain database dump
  • The self-hosted version trails the cloud product on some features, and the documentation does not always say which

How to get it

One-line install

Prefer the terminal? Copy a command and you are done.

Docker (Linux / macOS) docker run -it --rm --publish 20080:20080 --volume /var/run/docker.sock:/var/run/docker.sock --volume $(pwd)/appwrite:/usr/src/code/appwrite:rw --entrypoint=install appwrite/appwrite:latest

At a glance

CategorySelf-hosted
LicenceBSD 3-Clause
Written inTypeScript
GitHub stars57,337
Repositoryappwrite/appwrite

Licence and star count were read from the GitHub API when this page was generated and are a snapshot. Check the repository for the current figure and the authoritative licence text.

Other Self-hosted tools

We are not affiliated with Appwrite or its maintainers. We list it because it is genuinely useful and genuinely free. If you plan to build a commercial product on top of it, read the licence on the repository first.

← Back to all tools