Where Does Uptime Kuma Store Its Database?
Where Uptime Kuma keeps its SQLite database and uploaded files in bare metal installs versus Docker.
Last updated
Uptime Kuma keeps nearly everything in one SQLite database named kuma.db inside its data directory. Bare installs use a data folder next to the checkout; the Docker image uses /app/data, which must be a mounted volume.
Uploads like status page icons sit beside the database in the same tree. Backups therefore mean copying one folder with the service stopped, including the WAL sidecars. A surprising number of empty after update reports trace back to an unmounted /app/data. Notifications read the same database, so they restore together.
Where Uptime Kuma stores this, by platform
/app/data (Docker volume)
kuma.db plus -wal/-shm sidecars and an uploads folder. Bind this tree to a host folder or named volume. Exact host path is your compose choice; the container side is always /app/data.
Frequently asked questions
how do i back up uptime kuma docker
Stop the container and copy the whole mapped data folder (kuma.db plus uploads). Restore means mounting the same files at /app/data on the new host. The database holds monitors, incidents, and settings together, so one folder is the whole backup.
where is the uptime kuma database
In kuma.db inside the data directory. It uses WAL mode, so copy the -wal and -shm sidecars along with it while stopped. A lone kuma.db without its sidecars can open stale or refuse to open at all.
does uptime kuma need a data volume
Yes. Mount a persistent volume at /app/data or every recreate starts with a blank dashboard. That missing mount is the classic empty Uptime Kuma after an update. The image itself holds no state worth keeping.
Notice an outdated path? Let us know.