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:
Your Appwrite instance's HTTP and HTTPS ports.
Your Appwrite instance's secret key used to encrypt sensitive data.
Your Appwrite instance's main hostname. Appwrite will generate a certificate using this hostname.
Your Appwrite instance's DNS A record hostname. Typically set to the same value as your Appwrite instance's hostname.
Bash
docker run -it --rm \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="install" \
appwrite/appwrite:1.6.0
CMD
docker run -it --rm ^
--volume //var/run/docker.sock:/var/run/docker.sock ^
--volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
--entrypoint="install" ^
appwrite/appwrite:1.6.0
Powershell
docker run -it --rm `
--volume /var/run/docker.sock:/var/run/docker.sock `
--volume ${pwd}/appwrite:/usr/src/code/appwrite:rw `
--entrypoint="install" `
appwrite/appwrite:1.6.0
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:
Provider | Installation Link | |
DigitalOcean | Click to install | |
Gitpod | Click to install | |
Akamai Compute | Click to install | |
AWS Marketplace | Click to install |
Next steps
Self-hosting Appwrite gives you more configurable options. Make these configurations to unlock the full power of Appwrite.
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:
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.
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.
docker compose down -v