Skip to content

Self-host Appwrite

updated Jul 2026prices checked · Jul 2026Install verified on Ubuntu 26.04 · Jul 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →

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~$283
You keep$17/yr
Pocket the difference — spin it up on a cheap VPS in minutes.Start free on Kamatera → (opens in new tab)

Key facts

LicenseBSD-3-Clause
StackPHP, MongoDB
Min RAM4096 MB
Official imageyes
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 under the hood, on MongoDB by default in the 1.9 installer (MariaDB optional; Appwrite 2.0 switched the default to PostgreSQL) — but behind Appwrite's own collections API rather than a database you query directly, so weigh that against Supabase or Nhost if a Postgres-native data layer matters to your stack.

Follow the Appwrite deploy guide →

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
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Install

Run these commands on your server:

# 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-negotiableThe database 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

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.