Appwrite is a free, open source build & deployment project written in PHP and released under BSD-3-Clause. It has 57,400 GitHub stars, 5,725 forks and 1,008 open issues, and was last pushed 7 hours ago. On this registry it ranks #3 of 59 tracked projects in Build & Deployment, and is listed as an open source replacement for 1 paid product, with 5 head-to-head comparisons available. It gained 49 stars over the last 6 tracked days.

Appwrite — Open-source backend platform for rapid app development

What is Appwrite?

What it is

Appwrite is an open-source backend platform that consolidates infrastructure services—authentication, databases, storage, functions, messaging, hosting, and real-time capabilities—into a single, unified system. It runs as a self-hosted service or via a managed cloud offering (Appwrite Cloud), targeting developers who want to avoid assembling and maintaining disparate backend tools.

It solves the fragmentation problem of modern app development, where teams typically stitch together multiple third-party services (e.g., Firebase Auth + Supabase DB + AWS S3 + SendGrid). Appwrite replaces this with a cohesive, open-source stack, reducing operational overhead and vendor lock-in while retaining production-grade security and scalability.

Key capabilities

  • Secure user authentication with email/password, SMS, OAuth, anonymous sessions, and magic links, including multi-factor authentication and session management
  • Structured database storage with support for databases, tables, rows, relationships, querying, pagination, and indexing
  • File storage with uploads, downloads, encryption, compression, and on-the-fly image transformations
  • Serverless Functions triggered by events or schedules across 15 runtimes (Node.js, Python, PHP, Ruby, etc.)
  • Multi-channel messaging for emails, SMS, and push notifications via integrated providers
  • Integrated web hosting for static and server-side rendered apps with custom domains, Git integration, and preview deployments
  • Real-time subscriptions for live data sync across clients

Who uses it and how

  • Startups and indie developers deploy Appwrite self-hosted to replace Firebase or Supabase, avoiding recurring cloud bills and retaining full data control
  • Teams building Flutter, React, or Next.js apps use Appwrite SDKs to integrate auth, database, and storage directly into client-side code
  • Enterprises run Appwrite on Kubernetes or Docker Swarm to meet compliance requirements while retaining backend agility

Getting started

Install via Docker using docker run appwrite/appwrite or deploy to Appwrite Cloud at https://cloud.appwrite.io (free during beta). SDKs for JavaScript, Flutter, Android, and iOS are available via npm, CocoaPods, and Gradle.

When to use it — and when not to

Appwrite is a direct open-source alternative to Supabase and Firebase, offering similar features without vendor lock-in or per-request pricing. Self-hosting requires managing Docker, a reverse proxy (e.g., Nginx), SMTP for messaging, and external storage if scaling beyond local volumes. It lacks managed backups, native multi-region replication, and enterprise SLAs—making it less suitable for large-scale, globally distributed systems where managed reliability is critical.

project readme (upstream, from github) — read inline
image

Appwrite

Appwrite is an open-source, all-in-one development platform. Use built-in backend infrastructure and web hosting, all from a single place.

Discord X Appwrite Cloud

English | 简体中文

Appwrite is an open-source development platform for building web, mobile, and AI applications. It brings together backend infrastructure and web hosting in one place, so teams can build, ship, and scale without stitching together a fragmented stack. Appwrite is available as a managed cloud platform and can also be self-hosted on infrastructure you control.

With Appwrite, you can add authentication, databases, storage, functions, messaging, realtime capabilities, and integrated web app hosting through Sites. It is designed to reduce the repetitive backend work required to launch modern products while giving developers secure primitives and flexible APIs to build production-ready applications faster.

Find out more at https://appwrite.io.

Table of Contents:

Products

  • Appwrite Auth - Secure user authentication with multiple login methods including email/password, SMS, OAuth, anonymous sessions, and magic links. Includes session management, multi-factor authentication, and user verification flows.

  • Appwrite Databases - Scalable structured data storage with support for databases, tables, and rows. Includes querying, pagination, indexing, and relationships to model complex application data.

  • Appwrite Storage - Secure file storage with support for uploads, downloads, encryption, compression, and file transformations for media and assets.

  • Appwrite Functions - Serverless compute platform to run custom backend logic in isolated runtimes, triggered by events or scheduled jobs.15 runtimes supported.

  • Appwrite Messaging - Multi-channel messaging system for sending emails, SMS, and push notifications to users for engagement, alerts, and transactional workflows.

  • Appwrite Sites - Integrated hosting platform to deploy and scale web applications with support for custom domains, SSR, and seamless backend integration. Git integration and previews are supported.

Installation & Setup

The easiest way to get started with Appwrite is by signing up for Appwrite Cloud. While Appwrite Cloud is in public beta, you can build with Appwrite completely free, and we won't collect your credit card information.

Self-Hosting

Appwrite is designed to run in a containerized environment. Running your server is as easy as running one command from your terminal. You can either run Appwrite on your localhost using docker-compose or on any other container orchestration tool, such as Kubernetes, Docker Swarm, or Rancher.

Before running the installation command, make sure you have Docker installed on your machine:

Unix

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:2.0.0

Windows

CMD
docker run -it --rm ^
    --publish 20080:20080 ^
    --volume //var/run/docker.sock:/var/run/docker.sock ^
    --volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
    --entrypoint="install" ^
    appwrite/appwrite:2.0.0
PowerShell
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:2.0.0

Once the Docker installation is complete, go to http://localhost to access the Appwrite console from your browser. Please note that on non-Linux native hosts, the server might take a few minutes to start after completing the installation.

Docker API version mismatch

If install or upgrade fails with an error like client version 1.52 is too new. Maximum supported API version is 1.42, the Docker CLI inside the Appwrite image is newer than your host Docker Engine. Pass DOCKER_API_VERSION set to the maximum API version from the error (or upgrade Docker on the host):

docker run -it --rm \
    --env DOCKER_API_VERSION=1.42 \
    --publish 20080:20080 \
    --volume /var/run/docker.sock:/var/run/docker.sock \
    --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
    --entrypoint="install" \
    appwrite/appwrite:2.0.0

Use the same --env DOCKER_API_VERSION=... flag with --entrypoint="upgrade" when upgrading.

For advanced production and custom installation, check out our Docker environment variables docs. You can also use our public docker-compose.yml and .env files to manually set up an environment.

Upgrade from an Older Version

If you are upgrading your Appwrite server from an older version, you should use the Appwrite migration tool once your setup is completed. For more information regarding this, check out the Installation Docs.

One-Click Setups

In addition to running Appwrite locally, you can also launch Appwrite using a pre-configured setup. This allows you to get up and running quickly with Appwrite without installing Docker on your local machine.

Choose from one of the providers below:


DigitalOcean

Akamai Compute

AWS Marketplace

Getting Started

Getting started with Appwrite is as easy as creating a new project, choosing your platform, and integrating its SDK into your code. You can easily get started with your platform of choice by reading one of our Getting Started tutorials.

readme truncated — read the full docs on github

Frequently asked questions

Is Appwrite free to use?

Appwrite is open source under the BSD-3-Clause licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Appwrite do?

Open-source backend platform for rapid app development

What is Appwrite written in?

Appwrite is primarily written in PHP. Its source is publicly available at https://github.com/appwrite/appwrite, and it has 57,400 GitHub stars.

What is a good open source alternative to Supabase (hosted)?

Appwrite is one of the open source options listed as an alternative to Supabase (hosted). Compare licences, stars and activity side by side on the Appwrite profile.