Skip to content

How it works

Every book takes the same path. Knowing it makes the rest of these docs, and the status words in the app, easier to follow.

When a member connects Audible, Armarium gives them their own private copy of Libation (its own folder, settings and sign-in) and imports their library. After that it checks every connected library on a schedule, every 6 hours by default, staggered so members aren’t all checked at once. Check Audible on My books runs one right away.

Reading a library never downloads anything.

A member presses Add to shelf. Before the request goes anywhere, Armarium asks Audiobookshelf whether it already has the book:

  • Same ASIN (Audible’s product id) already on the shelf, or already on its way from someone else: the book is simply On shelf. Nothing is downloaded.
  • Same title, first author and first narrator, but a different ASIN (a different edition of the same recording): the request is flagged as a possible duplicate and the admin sees both side by side.
  • Otherwise the request waits for review.

This check runs live against Audiobookshelf, so books that were added some other way count too. Requests from admins are approved straight away unless they look like a duplicate. Members can also turn on Add new purchases to the shelf automatically for an Audible account; new books found by a scan are then requested as if they had pressed the button.

An admin approves or declines each request on the Review page. A declined book stays declined: asking again doesn’t put it back in the queue. An admin can still pull it later from the Catalog.

Approved books are downloaded one at a time across the whole server, oldest approval first, with the requesting member’s own Audible sign-in. Libation decrypts the book into a private staging folder using the download settings you chose: one lossless M4B by default.

If a download fails, Armarium tries again after 1 minute, 10 minutes and an hour. Problems retrying can’t fix (an expired Audible sign-in, a book that’s no longer in the library) stop at once and show up as Needs you.

The finished book is moved into the library under the folder template, by default Author/Series/1 - Title [ASIN]/Title [ASIN].m4b. The whole folder appears at once, so Audiobookshelf never sees half a book. When staging sits on the library’s own disk this is a single rename; otherwise it’s a copy, a size check and a delete (see Storage).

Armarium asks Audiobookshelf to scan the library, finds the new book by its ASIN, and matches it to Audible’s metadata, so the cover, description, series and narrators are right from the start.

  • Armarium keeps a live connection to Audiobookshelf and notices within seconds when books are added, changed or deleted there.
  • If a book Armarium placed is deleted in Audiobookshelf, it’s marked Removed from shelf rather than forgotten. Its owner can Add back, or an admin can Re-add it from the Catalog.
  • Discord hears about new books, failed downloads, Audible sign-ins that expired, and (at most hourly) requests waiting for review.
Status Meaning
Not on shelf Nobody has asked for it.
Waiting for review Asked; an admin hasn’t decided yet.
Being checked Asked, and it may be a duplicate of something on the shelf.
Queued Approved, waiting its turn.
Downloading Libation is fetching and decrypting it.
Shelving Moving it into the library.
On shelf In Audiobookshelf.
Declined An admin said no.
Removed from shelf Armarium placed it, and it was later deleted from Audiobookshelf.
Needs you The download didn’t finish; the reason is shown with a Try again button.