Skip to content

Command Palette

Search for a command to run...

Self-host Appwrite

Backend & BaaS
prices checked · Jul 2026

Batteries-included backend-as-a-service with auth, databases, storage, functions, messaging, and realtime — a self-hosted, Docker-based alternative to Firebase.

Firebase / yr$300
Self-hosted / yr~$55
You keep$245/yr

Key facts

CategoryBackend & BaaS
LicenseBSD-3-Clause
StackPHP, MariaDB
Min RAM4096 MB
Dockeryes
Difficulty
Our recommendation

Choose Appwrite when you want a batteries-included BaaS — auth, databases, storage, functions, and messaging — installed through a guided wizard rather than assembled by hand. It's PHP and MariaDB under the hood rather than Postgres, so weigh that against Supabase or Nhost if a Postgres-native data layer matters to your stack.

What you need

  • Any VPS with at least 4096 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • About an afternoon — budget time for troubleshooting

Install with Docker Compose

Save this as compose.yml and run docker compose up -d:

# Appwrite — official Docker installer wizard
docker run -it --rm \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
  --entrypoint="install" \
  appwrite/appwrite:1.9.5
# follow the wizard, then open http://SERVER_IP:20080

What you take on

Appwrite's installer does the assembly for you, but running the result long-term is still your job:

non-negotiableThe installer wants Docker socket access. The official install runs a container that manages other containers via /var/run/docker.sock — convenient, but understand what that access grants before you run it on a shared box.
non-negotiableMariaDB is the source of truth. Back it up like the production database it is — Appwrite's own docs point to your own backup strategy, not a built-in one.
non-negotiable4 GB is the real floor. Auth, database, storage, functions, and messaging each run as their own services — comfortable on a small VPS, not on the smallest one.

An alternative to

Head-to-head

More in Backend & BaaS