Where Does Komga Store Its Database and Config?
Where Komga keeps database.sqlite, application.yml, and logs in Docker installs and desktop apps.
Last updated
Komga keeps its state in a config directory: database.sqlite and tasks.sqlite for data, application.yml for settings, logs beside them. Docker mounts it at /config, the Windows app uses %LOCALAPPDATA%\Komga, macOS uses ~/Library/Application Support/Komga, and the bare jar defaults to ~/.komga.
The library itself (/data in Docker) is separate from all of that. Backups must cover both mounts: config for the read progress and users, data for the books. The local filesystem rule for SQLite is the detail that bites newcomers.
Where Komga stores this, by platform
/config (Docker volume)
database.sqlite, tasks.sqlite, application.yml, and logs here. Bind it to a host folder on a local disk; network shares fail the startup check. Set the library path (/data) on a separate mount.
~/.komga
Same database and yml files natively. The jar honors komga.config-dir to relocate the tree. Desktop library folders default beside it unless changed in the UI.
%LOCALAPPDATA%\Komga
Config directory for the Windows desktop app. Note the folder is virtualized by Windows, so browse it through Explorer rather than assuming a plain path. Same database filenames as elsewhere.
~/Library/Application Support/Komga
Same contents as the other native installs. Finder hides Library, so reach it via Go > Go to Folder. Library paths configured in the UI can point anywhere on disk.
Frequently asked questions
how do i migrate komga to a new server
Stop the container and copy the whole mapped /config folder (database.sqlite, tasks.sqlite, application.yml, logs). Restore by mounting it at /config on the new host. The library folders (/data) hold the books and move separately.
where is the komga config file
In application.yml inside the config directory, or via KOMGA_ environment variables (the Docker native way). The yml wins for file set values; env vars cover the rest. Two space YAML indentation matters, as always.
does komga need a persistent volume
Yes. Map /config to a local filesystem volume, never a network share: Komga checks the database filesystem on startup and refuses CIFS or NFS. That refused start is the classic first Docker run error.
Notice an outdated path? Let us know.