Why Appwrite?
Appwrite is an open-source Firebase alternative you can self-host. Auth, database, storage, functions, and realtime — all with a clean SDK.
docker run -it --rm \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
appwrite/appwrite:latest
Authentication
import { Client, Account } from 'appwrite'
const client = new Client()
.setEndpoint('https://cloud.appwrite.io/v1')
.setProject('YOUR_PROJECT_ID')
const account = new Account(client)
// Sign up
await account.create('unique()', 'user@example.com', 'password', 'John Doe')
// Login
await account.createEmailPasswordSession('user@example.com', 'password')
// OAuth
await account.createOAuth2Session('google', 'https://yourapp.com/success')
Database
import { Databases, ID } from 'appwrite'
const db = new Databases(client)
// Create document
await db.createDocument('mydb', 'posts', ID.unique(), {
title: 'Hello World',
content: 'My first post',
published: true,
})
// Query
const posts = await db.listDocuments('mydb', 'posts', [
Query.equal('published', true),
Query.orderDesc('$createdAt'),
Query.limit(10),
])
Storage
import { Storage, ID } from 'appwrite'
const storage = new Storage(client)
await storage.createFile('uploads', ID.unique(), file)
const preview = storage.getFilePreview('uploads', fileId, 400, 300)
Appwrite vs Firebase vs Supabase
| Feature | Appwrite | Firebase | Supabase |
|---|---|---|---|
| Self-hosted | Yes | No | Yes |
| Database | Document | Document | Postgres |
| Auth | Built-in | Built-in | Built-in |
| Functions | Yes | Yes | Edge |
| Open source | Yes | No | Yes |
Need to extract data from any website at scale? I build custom web scrapers — 77 production scrapers running on Apify Store. Email me at spinov001@gmail.com for a tailored solution.
Top comments (0)