explaingit

advplyr/audiobookshelf

12,741JavaScriptAudience · generalComplexity · 4/5Setup · hard

TLDR

A self-hosted server app for managing and streaming your own audiobook and podcast collection to any device. Tracks listening progress per user, auto-downloads podcast episodes, and works from a browser or mobile app, no subscription needed.

Mindmap

mindmap
  root((repo))
    What it does
      Stream audiobooks
      Manage podcasts
      Track listening progress
    Features
      Multi-user accounts
      Auto podcast downloads
      Cover art and metadata
      Ebook reader
      Kindle send
    Access options
      Web browser
      Progressive web app
      Android and iOS apps
      Chromecast support
    Setup requirements
      Home server or PC
      Optional reverse proxy
      Audio files you own
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Host your personal audiobook library on a home server and stream to your phone or tablet without a subscription service.

USE CASE 2

Set up separate accounts for family members so each person tracks their own listening progress independently.

USE CASE 3

Subscribe to podcast feeds so your server automatically downloads new episodes to your local collection.

USE CASE 4

Send an ebook from your library to a Kindle device directly from the Audiobookshelf web interface.

Tech stack

JavaScriptNode.js

Getting it running

Difficulty · hard Time to first run · 1h+

Requires an always-on server or PC, reaching it outside the home network needs a reverse proxy and optional dynamic DNS setup.

In plain English

Audiobookshelf is a server application you run on your own computer or home server to manage and listen to your audiobook and podcast collection. Instead of paying a subscription to a streaming service, you store your own audio files and access them through Audiobookshelf from any device on your network, or from anywhere over the internet if you set it up to be publicly accessible. The server handles all the organization and playback. It streams audio files in whatever format they are stored, tracks where each person left off in a book or podcast episode, and syncs that progress across multiple devices. Multiple family members or users can have their own accounts with different permissions. The library updates automatically when you add new files, so you do not need to trigger a manual rescan. Beyond basic playback, the project includes tools for managing your collection. You can upload books by dragging folders directly into the web interface, search for and download podcast episodes automatically, fetch cover art and descriptions from online sources, and edit chapter information. There is also a basic reader for ebook formats including epub and PDF, and the ability to send an ebook to a Kindle device. Accessing the server works through a web browser on any device, which also functions as a Progressive Web App you can install to your phone's home screen. Android and iOS apps in beta are available separately. The web app supports Chromecast for playing audio through a television or speaker. RSS feeds can be opened to let podcast apps or other tools subscribe to your personal library. Running Audiobookshelf requires setting up the server software on a machine you control, pointing it at your audio files, and optionally configuring a reverse proxy if you want to reach it from outside your home network. The repository is fully open-source, including the mobile apps, and installation documentation is provided on the project's website.

Copy-paste prompts

Prompt 1
Help me set up Audiobookshelf using Docker on a home server running Ubuntu, pointing it at my audiobooks folder.
Prompt 2
How do I configure Nginx as a reverse proxy so I can access my Audiobookshelf server from the internet with HTTPS?
Prompt 3
Create multiple user accounts in Audiobookshelf with different permission levels so my family can each use the server independently.
Prompt 4
Set up Audiobookshelf to subscribe to a podcast RSS feed and automatically download new episodes to my server.
Prompt 5
My Audiobookshelf server is behind a router, walk me through setting up port forwarding and a free dynamic DNS so I can access it away from home.
Open on GitHub → Explain another repo

← advplyr on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.