Where Does Self-Hosted Umami Store Data?
Self-hosted Umami keeps everything in PostgreSQL, so the data is the Postgres volume plus the .env file holding secrets.
Last updated
The Umami container itself holds nothing worth keeping. Every website, account and event lives in PostgreSQL, which the official compose file persists in a dedicated volume. Lose that volume and the dashboards are gone.
Two small files matter as much as the database. The .env file carries DATABASE_URL and APP_SECRET, and without the same secret your logins break after a restore. Back up the volume and that file together.
Where Umami stores this, by platform
./umami-db-data
Postgres data mounted at /var/lib/postgresql/data in the db container. The stock compose file uses a named volume umami-db-data, while many guides bind ./umami-db-data instead. Either way this directory plus .env is the full backup set.
Frequently asked questions
how do i back up self-hosted umami
Dump Postgres with pg_dump against the umami database and store the dump plus your .env file somewhere off the server. Restoring means recreating the database, loading the dump, and reusing the same APP_SECRET.
can i move umami data to a new server
Yes. Copy the compose file and .env over, start only the db service, load your dump into it, then start the app container. Keep APP_SECRET unchanged or existing sessions invalidate.
where is the umami config file
There is barely one. Runtime settings are environment variables like DATABASE_URL and APP_SECRET in .env. Tracker behavior is configured per website inside the dashboard, which itself lives in Postgres.
Notice an outdated path? Let us know.