To upgrade your Appwrite server from an older version, you should use the Appwrite migration tool after you have installed the new version. The migration tool will adjust your Appwrite data to the new version's structure to make sure your Appwrite data is compatible with any internal changes.

As of version 0.14, Appwrite requires Docker Compose Version 2. To upgrade Appwrite, make sure your Docker installation is updated to support Composer V2.

A Note About Migration

At present, we support migrations only to the immediately higher versions, i.e from 0.6 to 0.7 and 0.7 to 0.8 and so on. So if you're trying to migrate from 0.6 to 0.8, you will first need to migrate to 0.7 and then to 0.8

It is highly recommended to backup your server data before running the migration. It is recommended to run the migration process on a dev instance and make sure your application is working well and that you have checked for any breaking changes in the new version changelog.

The first step is to install the latest version of Appwrite. Head to the directory where you ran your previous Appwrite install command.

parent_directory <= you run the command in this directory
    └── appwrite
        └── docker-compose.yml

This is the parent directory where you will find the appwrite directory, inside which there are docker-compose.yml and .env files.

Installing the Next Version

  • Unix

    docker run -it --rm \
        --volume /var/run/docker.sock:/var/run/docker.sock \
        --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
        --entrypoint="install" \
  • CMD

    docker run -it --rm ^
        --volume //var/run/docker.sock:/var/run/docker.sock ^
        --volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
        --entrypoint="install" ^
  • PowerShell

    docker run -it --rm `
        --volume /var/run/docker.sock:/var/run/docker.sock `
        --volume ${pwd}/appwrite:/usr/src/code/appwrite:rw `
        --entrypoint="install" `

This will pull the docker-compose.yml file for the new version and perform the installation. Once the setup completes, verify that you have the latest version of Appwrite.

docker ps | grep appwrite/appwrite

Verify that the STATUS doesn't have any errors and all the appwrite/appwrite containers have version : 1.3.7

Running the Migration

Upgrading to a minor version

You do not need to run migration when upgrading to a minor version. For example, going from 0.13.0 to 0.13.2 would not require running migration.

We can now start the migration. Navigate to the appwrite directory where your docker-compose.yml is present and run the following command

cd appwrite/
docker compose exec appwrite migrate

The data migration can take longer depending on the amount of data your Appwrite instance contains. The Appwrite migration command uses multi-threading to speed up the process, meaning that adding more CPU cores can help speed up the process.

Once the migration process has been completed successfully, you're all set to use the latest version of Appwrite!