Storage
Directory/config
- armarium.db everything Armarium knows: people, requests, settings
- secrets.key encrypts saved API keys, the webhook and the sign-on secret
- session.key signs people’s sessions (unless ARMARIUM_SESSION_SECRET is set)
- libation-master.key encrypts Audible sign-ins (unless LIBATION_MASTER_KEY is set)
Directory/data
Directoryusers
Directorymember-id
Directorylibation/ that member’s own Libation: settings, Audible sign-in, library
- …
Directorybooks/ downloads waiting to be shelved (unless ARMARIUM_STAGING_DIR is set)
- …
Directoryinprogress/ Libation’s half-finished downloads, one folder per member
- …
Directory/audiobooks the Audiobookshelf library (ARMARIUM_LIBRARY_DIR)
Directory.armarium/ downloads waiting, when ARMARIUM_STAGING_DIR points here
- …
- Author/… books, laid out by the folder template
Making shelving one step
Section titled “Making shelving one step”A finished book waits in a staging folder, then moves into the library. If staging and the library are on the same mount, that move is a single rename: instant, and Audiobookshelf never sees a half-copied folder. If they aren’t, Armarium copies the folder, checks every file’s size, then deletes the original. That works, but it’s slower and briefly needs twice the space.
By default staging lives in /data, which is usually a different mount from the library. Put it on
the library’s own disk instead:
ARMARIUM_STAGING_DIR=/audiobooks/.armariumAudiobookshelf ignores folders whose names start with a dot, so it won’t pick up unfinished books.
Armarium tests this at startup by renaming a small file from staging into the library. The result is in the log and under Server → This server:

Cleaning up
Section titled “Cleaning up”Every 6 hours (and 2 minutes after startup) Armarium deletes staging folders for books that aren’t on their way any more, for example after a download failed for good. Nothing in the library itself is ever deleted by Armarium.
Permissions
Section titled “Permissions”The container runs as uid 1001. It needs to read and write /config, /data and the library folder.