← Back to docsRecipe

Appwrite primer

A zero-friction backend for builders who want auth, database, storage, and functions without stitching together six services. Appwrite gives you a single Docker-hosted API that talks REST, GraphQL, or SDKs across a dozen languages.

Why Appwrite

Self-host on a $6 VPS or use Appwrite Cloud. You get email/password, OAuth2, phone auth, and anonymous sessions out of the box. Database is document-style with typed collections, realtime subscriptions, and row-level permissions that actually make sense.

Core primitives

  • Auth — sessions, JWT, MFA, teams, scoped API keys
  • Databases — collections, attributes, indexes, realtime via WebSocket
  • Storage — buckets with compression, image transforms, antivirus
  • Functions — Node, Python, Dart, Deno, Bun runtimes; triggered by events
  • Messaging — push, email, SMS via providers you configure

Quick start

Pull the Docker Compose file, run docker compose up -d, and visit port 80. Create a project, grab the endpoint and project ID, install the SDK, and call account.create(). That is it.

When to reach for it

Side projects, internal tools, mobile backends, or any app where Firebase feels too vendor-locked and Supabase feels too SQL-heavy. Appwrite sits in the sweet spot: batteries-included, portable, and shockingly fast to prototype with.