AudioBookShelf configuration guide

Here are the configuration variables you need to set to get AudioBookShelf (ABS) running on TrueNAS scale using the TrueNAS Community plugin:

Network Configuration:

  • Host Network → Checked - This is necessary if you want to map the port to your routes so that you can use the ABS mobile apps while traveling.

Storage Configuration: I have set up a directory on my TrueNAS pool to store my configurations (app-config) and then a subdirectory for my ABS Configuration (audiobookshelf), and use Host Path. Thus, my Host path is /mnt/pool/app-config/audiobookshelf . Your path will differ. Thus, for both configurations:

  • Type: Host Path (Path that already exists on the system)
  • Host Path Configuration → Enable ACL → Leave unchecked

The two configuration paths are:

  • Audiobookshelf Config Storage → Host Path → /mnt/pool/app-config/audiobookshelf
  • Audiobookshelf Metadata Storage → Host Path → /mnt/pool/app-config/audiobookshelf

At this point, we have to create two mappings from the App container to where we have stored our audiobook media as well as a backup location.

Mapping to audiobook library:

  • Additional Storage → Type → Host Path
  • Additional Storage → Read Only → Unchecked
  • Additional Storage → Mount Path → /audiobooks
  • Additional Storage → Host Path → Path to where your audiobooks are stored

Mapping to backup locration:

  • Additional Storage → Type → Host Path
  • Additional Storage → Read Only → Unchecked
  • Additional Storage → Mount Path → /metadata/backups
  • Additional Storage → Host Path → Path to where your backup are stored

Everything else should be left as-is.

Note 1: When you are creating the audiobook library, your path will begin with /audiobooks .
Note 2: ABS does not natively use secure connections (https), only insecure (http). The use of a reverse proxy is highly recommended.
Note 3: This is fixed in 2.12. Due to defect 2904-[Bug]: Restoring from AudioBookShelf backup results in broken Author images and “Internal Server Error” which has existed since at least 2.9, author images are not restored from backups. You will want to open up your audiobookshelf backup using 7Zip or similar utility and extract the contents of the metadata-authors to a temporary directory. Then, copy those contents to your metadata directory. If you are using the host path as configured above, then the path is /mnt/pool/app-config/audiobookshelf/authors .

1 Like

An update on Note 3. The root cause of the issue is that the authors directory isn’t created if it doesn’t already exist. Workaround is to go into the metadata folder and create both “items” and “authors”, and ensuring that the owner is called “apps”.

We were able to identify the issue today, and a fix is now pending the next release.

Hey @MarkHoltz, I’m running into an issue when trying to install this way. Seeing Back-off restarting failed container audiobookshelf in pod.

Any suggestions?

Plex App with PlexAMP mobile app is a bit easier to manage honestly.
If you already have Plex it’s one less thing to run.

The Audible Catalogue plugin for Plex Plugins still works if you adjust the Plex App folders and use a persistent copy of the plugin mounted in the app path.
audnexus

@Max_Baron : What version of AudioBookShelf are you installing? What are the config settings? I know that the 2.12.0 was released on August 4th, followed by several dot releases in the following days to address issues, with 2.12.3 being released just two days ago and pending release as a TrueNAS Scale Community app.

@Martin_Thygesen : I’m an avid user of Plex, and have a lifetime license. The problem with Plex is that plug-ins aren’t supported anymore, plus Audiobook support has been a much-requested feature for many years. I tried Emby with Audiobooks with issues, and AudioBookSehlf has been absolutely fantastic from my perspective allowing me to self-host all of my audiobooks and listen to the books through my Android phone. Problem is, iPhone app is still in beta, and the waiting list is constantly full.

@MarkHoltz
The plugins do still work if you know how to use them.
I am using them at the moment with the Plex Truenas Scale container app.
You need to mount the Audnexus Bundle within the Plugins folder (which changes after each upgrade. I’ve used a script to update this automatically the app configuration.
Factually the Plex developers still use the Plugin Architecture, they just make it harder for you to use it as a generic user as they don’t want to deal with the support and risk that this creates so they isolate to their use only. It’s basically what they are using to patch their own libraries with. There are ways they could lock this down but they don’t seem to feel the need to at this stage.

Combined with PlexAmp mobile app this is the better option IMO

@Martin_Thygesen which audiobook catalog plug in do you use? I had some trouble getting AudNexus to work for me.

@MarkHoltz I figured out the issue, ended up being a dumb permissions issue on the config folder with the user I had created for the app and the port I had picked was already in use.

Audnexus still works well, just needs updating manually occasionally.
It’s very easy to setup, I’m using 1.3.1 at the moment.

Just unzip Audnexus.bundle-1.3.1.zip , to a folder called Audnexus.bundle on a path on your Truenas Server.

Then setup a mount point under the file system on the container itself:
/lib/plexmediaserver/Resources/Plug-ins-XXXXXX/Audnexus.bundle

mounted from
/< truenas-path >/Audnexus.bundle

Where the Plug-ins-XXXXXX is Plex version persistent folder
If you are setting this up manually you need to use the CLI shell to locate the folder name.
’ ls -Flash /lib/plexmediaserver/Resources/Plug-ins-* ’
This changes each time you upgrade plex, you have a couple of options to automate this or just do it manually only when you need to import new audiobooks and match them. Audnexus does have some limitations, but generally its good for most Audiobooks created in the past 20 years.

example below, the Plex server was updated, adjust the mount from

/lib/plexmediaserver/Resources/Plug-ins-ac2fe9b3c/Audnexus.Bundle
to
/lib/plexmediaserver/Resources/Plug-ins-d609c37a9/Audnexus.Bundle

ls -Flash /lib/plexmediaserver/Resources/Plug-ins-*

/lib/plexmediaserver/Resources/Plug-ins-ac2fe9b3c:
total 23K
512 drwxr-xr-x 3 root root 3 Aug 10 21:48 ./
11K drwxr-xr-x 12 root root 54 Aug 10 21:48 …/
11K drwxrwx–x 4 plex 1001 9 Jan 30 2024 Audnexus.bundle/

/lib/plexmediaserver/Resources/Plug-ins-d609c37a9:
total 31K
11K drwxrwxr-x 20 root root 20 Aug 10 21:48 ./
11K drwxr-xr-x 12 root root 54 Aug 10 21:48 …/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 Fanart-TV.bundle/
512 drwxrwxr-x 3 root root 3 Aug 10 21:48 Framework.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 HTbackdrops.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 LastFM.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 LocalMedia.bundle/
512 drwxrwxr-x 3 root root 3 Aug 10 21:48 LyricFind.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 Media-Flags.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 MoviePosterDB.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 Musicbrainz.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 PersonalMedia.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 PlexMovie.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 PlexThemeMusic.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 Scanners.bundle/
512 drwxrwxr-x 3 root root 3 Aug 10 21:48 System.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 TheMovieDB.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 TheTVDB.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 TheTVDBv4.bundle/
512 drwxrwxr-x 3 root root 4 Aug 10 21:48 WebClient.bundle/

Is this guide still good with the new updates. Pretty sure I followed it to the T and I keep getting socket and upload errors whenever I try to add something to the library.

UPDATE: FIXED!! Follow these instructions, but remember to make the dataset preset apps and it will work. I’m a newb and it took me way to long to figure that out.