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
/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.