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