How to back up Appwrite in Docker (2026)

To back up Appwrite in Docker you cannot just dump the database — you also need the app's data volumes and its config. Dockstash dumps its MariaDB database consistently, captures the 3 volumes of on-disk data, and snapshots docker-compose.yml plus .env in one encrypted run.

What it stores

What Appwrite stores

Compose servicesappwrite, mariadb, redis
Databases detectedmariadb
Data volumesappwrite_uploads (/storage/uploads), appwrite_cache, db_data (/var/lib/mysql)
Config pathsdocker-compose.yml, .env
Step by step

The backup plan

  1. Dump the MariaDB database. Run mariadb-dump --all-databases --single-transaction inside the db container to capture projects, collections, documents, and user accounts consistently.
  2. Capture the storage volumes. Restic the uploads and functions volumes under /storage. Appwrite stores uploaded files, function code, and certificates on disk, separate from the database.
  3. Capture compose and .env config. Restic docker-compose.yml and .env (_APP_OPENSSL_KEY_V1) so encrypted values in the database can be decrypted after restore.

Restoring Appwrite

The _APP_OPENSSL_KEY_V1 in .env encrypts secrets stored in MariaDB — restore it exactly or encrypted data is unreadable. Restore the storage volumes alongside the database so file documents resolve.

Back up Appwrite in one click All guides

Last updated: July 2026

Frequently asked questions

What database does Appwrite use?

MariaDB. Dockstash runs mariadb-dump --single-transaction for a consistent snapshot of projects, collections, documents, and users.

Where are Appwrite files and functions stored?

Under /storage volumes on disk — uploads, function code, and certificates. Back these up alongside the database dump for a complete restore.

Why is _APP_OPENSSL_KEY_V1 critical?

It encrypts sensitive values stored in the database. Restore the database without the matching key and those values cannot be decrypted.