Linux

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

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