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
You can migrate to versions that require a migration path and are higher than your current version, such as from 1.5.0 to 1.5.11.
If you're trying to migrate to a next major version such as from 1.5.0 to 1.6.0, you will first need to migrate to the latest patch version 1.5.11, then to 1.6.0.
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
Parent directory naming
Your Appwrite installation's parent directory name is expected to be appwrite. Changing the directory name will result in a miss-matched docker project names.
Unix
docker run -it --rm \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="upgrade" \
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="upgrade" ^
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="upgrade" `
appwrite/appwrite:1.6.0
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 the same version.
Running the 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!