Docs
Skip to content

Self-hosting

Installation_

Step-by-step guide to install Appwrite using Docker. Learn how to set up a self-hosted Appwrite instance with Docker Compose on any operating system.

5 min read

Raw

This guide will walk you through installing Appwrite on your server using Docker. Appwrite is designed to run on any operating system that supports Docker.

System requirements

Before installing Appwrite, ensure your system meets these minimum requirements:

  • 2 CPU cores
  • 4GB of RAM
  • 2GB of swap memory
  • Operating system that supports Docker
  • Docker Compose Version 2

Install with Docker

The easiest way to install Appwrite is using our Docker installer. The installer launches a web-based setup wizard that guides you through the entire process.

Before running the installation command, ensure you have Docker CLI installed on your host machine.

Installation commands

Once the command is running, open your browser and navigate to http://localhost:20080 to access the setup wizard.

Setup wizard

The setup wizard walks you through four steps to configure your Appwrite instance.

Step 1: Setup your app

Configure your Appwrite instance's basic settings.

Setup your app
Setup your app

  • Hostname - The domain or IP address where your Appwrite instance will be accessible.
  • Database - Choose between MongoDB or MariaDB as your database backend. MongoDB is selected by default.
  • Advanced settings - Optionally configure HTTP and HTTPS ports, SSL certificate email, and an OpenAI API key for the Appwrite Assistant.

Step 2: Secure your app

A secret API key is automatically generated for your instance. This key is used to encrypt sensitive data.

Secure your app
Secure your app

You can use the Copy button to copy the key or Regenerate to create a new one.

Step 3: Create your account

Set up the email and password for your Appwrite account. You'll use these credentials to sign in to the Appwrite Console after installation.

Create your account
Create your account

Step 4: Review your setup

Review all your configuration settings. If anything looks wrong, use the Back button to make changes. When you're ready, click Install to begin the installation.

Review your setup
Review your setup

Manual installation

For advanced users who prefer manual setup, you can install Appwrite using Docker Compose directly.

Generate configuration files

Install Appwrite

  1. Create a directory named appwrite and place both docker-compose.yml and .env inside
  2. Edit the .env file to customize your installation. At minimum, update _APP_OPENSSL_KEY_V1 and _APP_EXECUTOR_SECRET with unique secret values
  3. Start the Appwrite stack:
Bash
docker compose up -d --remove-orphans

Post-installation

After installation completes:

  1. Access the Console - Navigate to your machine's hostname or IP address in your browser
  2. Create your first project - Set up your development environment

SDK version compatibility

The tables below map each released self-hosted Appwrite version to the SDK versions that were current at the time of that release. Use this to pin your SDK to a version known to work with your server. The latest stable self-hosted Appwrite release is 1.9.0.

Client SDKs

Appwrite WebFlutterReact NativeAppleAndroid
1.7.018.0.016.0.00.9.010.0.08.0.0
1.7.1 to 1.7.318.0.016.0.00.9.010.0.08.0.0
1.7.418.1.117.0.00.10.010.0.08.0.0
1.7.518.1.117.0.00.10.010.0.08.0.0
1.8.021.4.020.3.00.18.013.3.011.3.0
1.8.123.0.022.0.00.25.015.0.013.0.0
1.9.024.1.123.0.00.27.116.0.014.1.0

Server SDKs

Appwrite Node.jsPythonPHPDartRuby.NETGoSwiftKotlinCLI
1.7.017.0.011.0.015.0.016.0.016.0.00.13.0v0.7.010.0.09.0.06.2.3
1.7.1 to 1.7.317.0.011.0.015.0.016.0.016.0.00.13.0v0.7.010.0.09.0.06.2.3
1.7.417.1.011.0.015.0.016.1.016.0.00.13.0v0.7.010.0.09.0.08.0.0
1.7.517.1.011.0.015.0.016.1.016.0.00.13.0v0.7.010.0.09.0.08.0.0
1.8.020.2.113.4.117.5.019.3.019.3.00.22.0v0.13.113.2.212.3.012.0.1
1.8.122.1.316.0.020.2.121.3.021.1.01.0.0v1.0.015.2.014.1.015.0.0
1.9.023.1.017.0.021.0.022.0.022.0.02.0.0v2.0.016.0.015.0.017.4.0

Managing your installation

Stop Appwrite

To stop your Appwrite containers:

Bash
docker compose stop

Restart Appwrite

To restart your Appwrite containers:

Bash
docker compose start

Uninstall Appwrite

To completely remove Appwrite and all its data:

Bash
docker compose down -v

Next steps

After successfully installing Appwrite, you can:

Deploy on cloud platforms - Learn how to deploy on AWS, DigitalOcean, and other cloud providers

Configure services - Set up email, SMS, storage, and other services

Configure databases - Learn more about MongoDB and MariaDB configuration

Production setup - Prepare your installation for production use

Update Appwrite - Keep your installation up to date

Was this page helpful?

Share what worked or what we should fix. Once approved, our agents automatically apply suggested updates to the docs.