Skip to content

Safe SQLite Storage

SelfHosted Nostos uses SQLite for relational library data. The official container stores the database at:

/data/nostos.db

SQLite relies on filesystem locking, ordering, and durability semantics. A normal Docker named volume or bind mount on a local host filesystem is the intended setup.

Do not place the live database on NFS, SMB/CIFS, cloud-sync folders, or similar remote mounts merely because they expose a filesystem path.

Some network and synchronized filesystems do not provide the locking or consistency behavior a live SQLite database expects. Whether a particular remote filesystem is safe depends on its exact implementation and mount configuration.

If you have not independently verified SQLite’s requirements for that exact setup, keep the active /data volume on local storage instead.

Media and backups share the persistent root

Section titled “Media and backups share the persistent root”

The official container keeps:

/data/
├── nostos.db
├── books/
└── backups/

Using one persistent root makes container replacement straightforward, but it does not make the volume itself an independent backup.

Use the built-in Live Backups workflow and keep an off-volume copy when the library matters to you.