Audiobookshelf is your own audiobook and podcast server. Put your books in one folder, listen in the browser or in its phone app, and pick up exactly where you left off on whichever device is to hand.
On this page
Good to know before you install
Audiobookshelf asks GitHub for new versions whenever someone opens it, which tells GitHub that visitor's address and nothing else; it has no setting to turn that off.
At a glance#
- What it is
- Audiobook & Podcast Server Media
- Where it opens
- Web Interface
On its own port at
http://your-server:port, oraudiobooks.your-domainonce you have a domain - Updates
- Automatic A backup is taken first, and it rolls back if the update fails
- Backups
- Included Part of the daily backup when that's switched on
- Copies
- One per server
What it's good for#
If you've got audiobooks spread across a laptop, an old phone and a folder of MP3s from a library CD, Audiobookshelf brings them together. It reads each book's files as one book, with chapters, cover and author, and remembers how far you got. Start a chapter in the kitchen on your laptop, carry on in the car on your phone, and it knows where you stopped.
It also subscribes to podcasts and downloads new episodes to your own server, so they're there even if a show disappears from the internet. Each person in the house gets their own account, their own progress and their own listening history.
Audiobookshelf, Kavita or Jellyfin?
Kavita is for books you read: ebooks, comics and manga. Jellyfin can play audio files, but it treats them as music, with no idea of chapters or where you stopped in a ten-hour book. For listening to books and podcasts, Audiobookshelf is the one built for the job.
Signing in#
A new Audiobookshelf asks the first person who opens it to create the main account, which would be a problem on a server anyone can reach. So LibrePortal makes that account itself, as soon as the server answers, and keeps Audiobookshelf reachable from the server only until it has checked the new login works. Nobody gets a chance to reach the setup page first.
The account is called admin, and it's Audiobookshelf's root account: the one that runs the server and can never be deleted. Its password is in the Login Details shown when the install finishes. Press Welcome on the app's page to see it again.
If the install couldn't make the account
If something went wrong (Audiobookshelf didn't answer within three minutes, say), the install says so and leaves the app reachable from the server only, so it can't be claimed by someone else. The simplest fix is to uninstall it and install it again. Only restart it to open it up once you know the admin account exists.
Getting your books in#
LibrePortal also creates two libraries for you on a fresh install, so the first page isn't empty: Audiobooks, on the audiobooks folder, and Podcasts, on the podcasts folder. Both sit in Audiobookshelf's app folder, normally /libreportal-containers/audiobookshelf/.
There are two ways to fill the Audiobooks library:
- Copy the files onto the server into the
audiobooksfolder. Audiobookshelf watches its library folders and picks up new books by itself; if one doesn't appear, scan the library. This is the easy way for a big collection. - Upload them in the browser. Audiobookshelf has its own upload page, which puts the files in the same folder for you.
Audiobookshelf works best when each book has its own folder, inside a folder for its author, like audiobooks/Terry Pratchett/Guards! Guards!/. Books in a series can go one level deeper, in a folder named after the series. Get this right at the start and the covers, authors and series fall into place by themselves.
For podcasts, search for a show inside the Podcasts library and subscribe. Audiobookshelf can check for new episodes on a schedule and download them into the podcasts folder.
Adding people#
Use the Tools tab, so you never need to open sign-ups.
- Open Audiobookshelf's page in LibrePortal and go to Tools.
- Run Create User Account with a username. The email is optional. Leave the password empty and one is made for you; tick Make admin only for someone who should manage the server with you.
- Send them the address and their password, and ask them to change it once they're in.
The other tools do what they say: Reset User Password, Set Admin Status, List Users and Delete User Account. The root account is always an admin, so it can't be demoted or deleted.
Change the admin password with the tool
The Tools tab works by signing in to Audiobookshelf as admin. If you change that password inside Audiobookshelf, the tools can no longer sign in. Use Reset User Password with the username admin instead: it changes the password in Audiobookshelf and in LibrePortal together, so the Login Details stay right too.
Listening on your phone#
Audiobookshelf has its own app for Android and iPhone, and it's the best way to listen: it keeps your place in sync with the server, and it can download books to the phone for a flight or a signal-free commute. In the app, enter your Audiobookshelf's address exactly as you open it in the browser, then your username and password.
This is why Audiobookshelf is marked Public in the catalogue, with no extra login in front of it: the phone app has to reach the same port the browser does, and an extra login would lock it out. If you only listen at home, you can make it private instead, and use the LibrePortal VPN when you're out. With a domain, it gets its own address at audiobooks.<your domain>, over HTTPS.
Good to know#
- Updates are automatic. It installs on 2.37.0 and takes new builds of that version, and from this release it also climbs to newer versions on its own, one at a time, one step a day, with a backup taken and checked before each. You can also move it up yourself with Upgrade on its Updates tab, or hold it on its current version by setting it to Manual. See Updates. LibrePortal's tools were tested on 2.37.0, and the Tools tab says so if you're on a version they haven't been tested with.
- Backups include your books. LibrePortal backs up the whole app folder, so a big audiobook collection makes for a big backup. Check your backup location has room for it. Audiobookshelf can also take its own backups of its database, which it keeps in its
metadatafolder. - One per server. The admin setup and the Tools reach Audiobookshelf by a fixed name, so it can't run as several copies side by side.
Addresses and ports#
Audiobookshelf has one port. LibrePortal picks a free port number for each when you install, so yours will differ from anyone else's. The Config tab's Network section shows them, and the app's Open button uses the right one. "Anyone" means it's reachable from wherever your server is reachable; you can make it private later.
| What it is | Who can reach it | With a domain |
|---|---|---|
| Web Interface | Anyone | audiobooks.your-domain |
Settings#
In its config file#
Audiobookshelf's own settings aren't on the Config tab yet. They live in the app's config file, described here so you know they exist. How to change them.
| Setting | What it does | Starts as |
|---|---|---|
NameCFG_AUDIOBOOKSHELF_DISPLAY_NAME |
What this app is called on your dashboards. Leave empty to use its usual name | Empty |
Show on the LibrePortal DashboardCFG_AUDIOBOOKSHELF_SHOW_ON_DASHBOARD |
Whether this app gets a shortcut on the front page of the LibrePortal WebUI, separate from any Dashy dashboard Choices: true, false |
true |
Tools#
Audiobookshelf's Tools tab has 5 buttons for jobs you'd otherwise need a terminal for. Each one runs as a task, so you can watch it on the Tasks page and read what it did. More about Tools.
Set a new password for an existing user. Leave blank to generate one.
Add a new user. Tick "Make admin" for full rights.
List every active user.
Remove a user and their playlists. The root account cannot be removed.
Promote or demote a user.
Works with#
These are the other apps Audiobookshelf knows how to work with. Once it's installed, its page shows the same list with whether each one is connected. How this works.
- Grafana: Shows dashboards for the apps that have one. works with every app
- Prometheus: Collects metrics from the apps that can export them. works with every app
- Uptime Kuma: Watches your apps and shows when one goes down. works with every app
Privacy and security#
Worth knowing Audiobookshelf sends nothing about you to its authors. Each web page you open asks GitHub whether a newer version exists, and book lookups happen only when you search for one.
What leaves this server#
- Your browser asks GitHub for the latest version whenever the page is opened; there is no setting to stop it
- Book and cover lookups (Audible, Google Books, Open Library and others) only when you search or match a book
What LibrePortal turns off#
Nothing needed switching off.
Licence: GPL-3.0 (package.json). Audited: 21 October 2026. See the privacy of every app and the Promise.
Sources#
Under the hood#
- It runs this image:
advplyr/audiobookshelf:2.37.0@sha256:6432d1dc58951b0280b29144ffc69834a8ae02786a2126f6b7c9bd453801c78b. - It can sit behind Authelia's sign-in once Authelia is installed.
- Its own project and documentation: github.com/advplyr/audiobookshelf
Ports, settings, tools and connections on this page are read from LibrePortal v0.10.97's app catalogue each time the guide is built.