Self-hosting

Appwrite was designed from the ground up with self-hosting in mind. You can install and run Appwrite on any operating system that can run a Docker CLI. Self-hosted Appwrite instances can be configured flexibly with access to the same features found on Appwrite Cloud.

System requirements

Appwrite is designed to run well on both small and large deployments. The minimum requirements to run Appwrite are as little as 2 CPU cores and 4GB of RAM, with 2GB of swap memory, and an operating system that supports Docker.

Appwrite requires Docker Compose Version 2. To install Appwrite, make sure your Docker installation is updated to support Composer V2.

Upgrading From Older Versions

If you are migrating from an older version of Appwrite, you need to follow the migration instructions

Install with Docker

The easiest way to start running your Appwrite server is by running our Docker installer tool from your terminal. Before running the installation command, make sure you have Docker CLI installed on your host machine.

You will be prompted to configure the following during the setup command:

  1. Your Appwrite instance's HTTP and HTTPS ports.

  2. Your Appwrite instance's secret key used to encrypt sensitive data.

  3. Your Appwrite instance's main hostname. Appwrite will generate a certificate using this hostname.

  4. Your Appwrite instance's DNS A record hostname. Typically set to the same value as your Appwrite instance's hostname.

    One-click setups

    In addition to running Appwrite locally, you can also launch Appwrite using a pre-configured setup. This allows you to get up and running with Appwrite quickly without installing Docker on your local machine.

    Choose from one of the providers below:

     ProviderInstallation Link
    DigitalOcean logo DigitalOcean logoDigitalOceanClick to install
    Gitpod logo Gitpod logoGitpodClick to install
    Akamai logo Akamai logoAkamai ComputeClick to install
    AWS logo AWS logoAWS MarketplaceClick to install

    Next steps

    Self-hosting Appwrite gives you more configurable options. Make these configurations to unlock the full power of Appwrite.

    Configure Appwrite Functions

    Configure email delivery

    Configure SMS delivery

    Configure Appwrite Storage

    Configure TLS Certificates

    Manual (Docker Compose)

    For advanced Docker users, the manual installation might seem more familiar. To set up Appwrite manually, download the Appwrite base docker-compose.yml and .env files, then move them inside a directory named appwrite. After the download completes, update the different environment variables as you wish in the .env file and start the Appwrite stack using the following Docker command:

    Bash
    docker compose up -d --remove-orphans
    

    Once the Docker installation completes, go to your machine's hostname or IP address on your browser to access the Appwrite Console. Please note that on hosts that are not Linux-native, the server might take a few minutes to start after installation completes.

    Stop

    You can stop your Appwrite containers by using the following command executed from the same directory as your docker-compose.yml file.

    Bash
    docker compose stop
    

    Uninstall

    To stop and remove your Appwrite containers, you can use the following command executed from the same directory as your docker-compose.yml file.

    Bash
    docker compose down -v