Linux

Where Does Self-Hosted Appwrite Store Data?

Where self-hosted Appwrite keeps uploads, functions, builds, and config through Docker volumes on your server.

Last updated

Appwrite runs as a set of Docker containers, so its data lives in named volumes rather than a single folder. Uploads, function code, builds, cache, and config each get their own volume, all mounted under /storage inside the containers.

The host side is managed by Docker, usually under /var/lib/docker/volumes. You do not need to memorize those host paths. What matters is the volume names (appwrite-uploads, appwrite-functions, and friends) and the ./appwrite project folder holding your compose file and .env.

Where Appwrite stores this, by platform

Linux
/var/lib/docker/volumes/appwrite-uploads/_data

Named Docker volumes mounted at /storage/uploads, /storage/functions, /storage/builds, /storage/cache, /storage/config, and /storage/certificates inside containers. Inspect with docker volume inspect; back up uploads plus the database together.

Frequently asked questions

How do I find the Appwrite volumes on the host?

Run docker volume ls | grep appwrite to list them, and docker volume inspect appwrite-uploads for the host path. Back up the uploads, functions, and database volumes together; one without the others gives you broken file references.

Where is the Appwrite install directory itself?

The installer writes a compose project into ./appwrite next to where you ran the install command, including docker-compose.yml and .env. Keep that directory. Recreating the stack from it restores the same volume names.

Notice an outdated path? Let us know.