
Appwrite
Open-source backend-as-a-service - self-hosted Firebase alternative
Deploy Appwrite in 3 Steps
Connect Your VPS
Add your server credentials to Server Compass
Select Appwrite
Choose from our template library
Deploy & Configure
Fill in settings and click Deploy
Deploy Appwrite via Command Line
Prefer the command line? Follow this step-by-step guide to deploy Appwrite manually on your VPS.
Start a Secure Shell Session
Open your terminal and connect to your server. Replace the IP address with your VPS IP.
# SSH into your server
ssh root@your-server-ip
# Using a custom SSH key
ssh -i ~/.ssh/id_rsa root@your-server-ipFirst time? Need Docker? Install it: curl -fsSL https://get.docker.com | sh
Prepare Your Workspace
Set up a clean directory for your application.
# Create and navigate to project directory
mkdir -p ~/apps/appwrite
cd ~/apps/appwriteSet Up Container Configuration
Set up the container stack using this Docker Compose configuration:
services:
appwrite:
image: appwrite/appwrite:1.6
ports:
- "80:80"
environment:
- _APP_ENV=production
- _APP_OPENSSL_KEY_V1=<your-openssl-key>
- _APP_DOMAIN=<your-app-domain>
- _APP_DOMAIN_TARGET=<your-app-domain>
- _APP_REDIS_HOST=redis
- _APP_REDIS_PORT=6379
- _APP_DB_HOST=mariadb
- _APP_DB_PORT=3306
- _APP_DB_SCHEMA=appwrite
- _APP_DB_USER=appwrite
- _APP_DB_PASS=<your-db-password>
- _APP_INFLUXDB_HOST=influxdb
- _APP_INFLUXDB_PORT=8086
- _APP_STORAGE_LIMIT=30000000
- _APP_FUNCTIONS_TIMEOUT=900
- _APP_EXECUTOR_SECRET=<your-executor-secret>
- _APP_LOGGING_PROVIDER=
- _APP_LOGGING_CONFIG=
volumes:
- appwrite_uploads:/storage/uploads
- appwrite_cache:/storage/cache
- appwrite_certificates:/storage/certificates
- appwrite_functions:/storage/functions
restart: unless-stopped
depends_on:
- mariadb
- redis
- influxdb
mariadb:
image: mariadb:10.11
environment:
- MYSQL_ROOT_PASSWORD=<your-db-root-password>
- MYSQL_DATABASE=appwrite
- MYSQL_USER=appwrite
- MYSQL_PASSWORD=<your-db-password>
volumes:
- mariadb_data:/var/lib/mysql
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h localhost -u root -p$${MYSQL_ROOT_PASSWORD} || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 60s
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
influxdb:
image: influxdb:1.8-alpine
volumes:
- influxdb_data:/var/lib/influxdb
restart: unless-stopped
volumes:
appwrite_uploads:
appwrite_cache:
appwrite_certificates:
appwrite_functions:
mariadb_data:
redis_data:
influxdb_data:
PORTHost port to expose(default: 80)OPENSSL_KEYOpenSSL encryption keyDB_PASSWORDDatabase passwordDB_ROOT_PASSWORDDatabase root passwordEXECUTOR_SECRETExecutor secretAPP_DOMAINDomain or IP where Appwrite is accessedBring Up the Application
Launch your application stack in the background.
# Start the containers in detached mode
docker compose up -d
# Check if containers are running
docker compose ps
# View logs
docker compose logs -fConfigure Firewall
Configure your firewall to permit external connections.
# Allow the application port through firewall
sudo ufw allow 80/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:80Prefer a visual interface? Use Server Compass.
Deploy Appwrite with a beautiful UI instead. No SSH, no YAML editing, no terminal commands. Just click, configure, and deploy in under 3 minutes.
- Visual configuration UI
- One-click deployment
- Automatic SSL setup
- Zero-downtime updates
- Built-in monitoring
- One-click rollbacks
After Deployment
After deploying Appwrite with Server Compass, complete these steps to finish setup
Create your admin account
Create your first project
Need help? Check out our documentation for detailed guides.
Appwrite FAQ
Common questions about self-hosting Appwrite
How do I deploy Appwrite with Server Compass?
Simply download Server Compass, connect to your VPS, and select Appwrite from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
What are the system requirements for Appwrite?
Appwrite requires a minimum of 2048MB RAM. We recommend a VPS with at least 4096MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Can I migrate my existing Appwrite data?
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Appwrite backup and restore procedures.
How do I update Appwrite to the latest version?
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Appwrite image will be pulled and deployed with zero downtime.
Is Appwrite free to self-host?
Appwrite is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.
Related Templates
View all Development
PocketBase
Open-source backend in a single file with realtime database, auth, and file storage

Parse Server
Open-source backend framework with dashboard

Supabase
Full Supabase self-hosted with Kong, GoTrue Auth, Realtime, and Studio

NocoDB
Open-source Airtable alternative - turn any database into a smart spreadsheet
Ready to Self-Host Appwrite?
Download Server Compass and deploy Appwrite to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass