Back to all templates
Appwrite logo

Appwrite

Development2048MB+ RAM

Open-source backend-as-a-service - self-hosted Firebase alternative

baasbackendfirebase-alternative

Deploy Appwrite in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Appwrite

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Appwrite on a VPS with Server Compass

Use the Appwrite template in Server Compass to start the official self-hosted Appwrite installer on your VPS, then verify the installer wizard in a browser.

About 10 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select the tutorial-vps VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Server Compass Apps tab before creating an Appwrite app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Appwrite

Use the template picker search to find Appwrite in the Server Compass template catalog.

Searching for Appwrite in the Server Compass template picker
4
Step 4

Select the Appwrite template

Choose the Appwrite template. Server Compass fills the official Appwrite installer service, Docker socket mount, persistent install directory, and installer web port.

Appwrite template selected in Server Compass
5
Step 5

Review the Appwrite settings

Confirm the app name and compose services. In this run, the app was named appwrite-demo and used host port 20080.

Reviewing Appwrite project settings and compose services
6
Step 6

Deploy Appwrite

Review the generated compose settings, confirm the installer web port is available, and click Deploy Now.

Reviewing Appwrite environment variables and port before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Appwrite image, starts the installer container, and verifies the stack.

Server Compass deploying the Appwrite template on the VPS
8
Step 8

Confirm Appwrite is running

After deployment finishes, return to the Apps tab and confirm the Appwrite app is marked Running with its application URL available.

Appwrite template running in the Server Compass Apps tab
9
Step 9

Open Appwrite in the browser

Click Open Application or open the application URL in a browser. The Appwrite installer wizard confirms the current self-hosted setup flow is reachable and ready to configure the full Appwrite stack.

The deployed Appwrite installer wizard loaded in a browser

After Appwrite Opens

  • Complete the installer wizard to create the full Appwrite stack.
  • Store generated administrator credentials and secrets in a secure password manager.
  • Add a domain and HTTPS before using Appwrite from production clients.
  • Create the first Appwrite project and configure platform origins before connecting an application.
  • Back up the generated Appwrite install directory and volumes before hosting production data.

Verified Result

The Appwrite installer loaded successfully in a browser and displayed the setup wizard.

Appwrite deployment questions

What does the Appwrite template deploy?

It starts the official Appwrite installer container with Docker socket access and a persistent install directory. The browser wizard then creates the full self-hosted Appwrite stack.

Which port did the tutorial use?

The tutorial used host port 20080, which maps to the Appwrite installer on container port 20080.

Why does the browser verification stop at the installer wizard?

A fresh Appwrite deployment is considered reachable when the official installer wizard loads. Completing the wizard creates real services and credentials, so the public guide stops before account creation.

Should this become a blog post?

No. The deployment guide should live on the Appwrite template detail page and be linked from the reusable template deployment docs page.

Do It Yourself

Deploy Appwrite via Command Line

Prefer the command line? Follow this step-by-step guide to deploy Appwrite manually on your VPS.

1

Start a Secure Shell Session

Open your terminal and connect to your server. Replace the IP address with your VPS IP.

terminal
# SSH into your server
ssh root@your-server-ip

# Using a custom SSH key
ssh -i ~/.ssh/id_rsa root@your-server-ip

First time? Need Docker? Install it: curl -fsSL https://get.docker.com | sh

2

Prepare Your Workspace

Set up a clean directory for your application.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/appwrite
cd ~/apps/appwrite
3

Set Up Container Configuration

Set up the container stack using this Docker Compose configuration:

docker-compose.yml
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:
Configuration Variables
PORTHost port to expose(default: 80)
OPENSSL_KEYOpenSSL encryption key
DB_PASSWORDDatabase password
DB_ROOT_PASSWORDDatabase root password
EXECUTOR_SECRETExecutor secret
APP_DOMAINDomain or IP where Appwrite is accessed
4

Bring Up the Application

Launch your application stack in the background.

terminal
# Start the containers in detached mode
docker compose up -d

# Check if containers are running
docker compose ps

# View logs
docker compose logs -f
5

Configure Firewall

Configure your firewall to permit external connections.

terminal
# Allow the application port through firewall
sudo ufw allow 80/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:80
Skip the Terminal

Prefer 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
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Appwrite with Server Compass, complete these steps to finish setup

1

Create your admin account

2

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.

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