Self-hosted audiobook and podcast server
Go to file
2021-09-28 17:36:41 -05:00
build linux installer use existing config 2021-09-25 17:37:21 -05:00
client Fix config page not scrolling, add scroll arrows on home page, fix routing issue on back button, fix continue reading shelf 2021-09-28 17:36:41 -05:00
images Auto add/update/remove audiobooks, update screenshots 2021-09-06 20:14:04 -05:00
server Fix config page not scrolling, add scroll arrows on home page, fix routing issue on back button, fix continue reading shelf 2021-09-28 17:36:41 -05:00
static Fix server client.user undefined, update logo 2021-09-03 06:40:59 -05:00
.dockerignore Ignore dist dir 2021-09-24 17:23:40 -05:00
.gitignore Ignore dist dir 2021-09-24 17:23:40 -05:00
docker-template.xml Update user audiobook progress model, add mark as read/not read, download individual tracks 2021-09-06 14:13:01 -05:00
Dockerfile Use local image as cover if found, adding release-it version control 2021-08-21 13:02:24 -05:00
index.js Adding download tab and download manager, ffmpeg in worker thread 2021-09-04 14:17:26 -05:00
package-lock.json Fixing scanner inodes, select all fix, starting ebook reader 2021-09-27 06:52:21 -05:00
package.json Fix config page not scrolling, add scroll arrows on home page, fix routing issue on back button, fix continue reading shelf 2021-09-28 17:36:41 -05:00
prod.js Pkg scripts win/linux 2021-09-22 20:40:35 -05:00
readme.md Fix docs link url 2021-09-26 17:21:10 -05:00

AudioBookshelf

AudioBookshelf is a self-hosted audiobook server for managing and playing your audiobooks.

See Install guides and documentation

Android app is in beta, try it out on the Google Play Store

Free & open source Android/iOS app is in development

Screenshot1

Directory Structure

See documentation for directory structure and naming.

Author, Series, Volume Number, Title and Publish Year can all be parsed from your folder structure.

Note: Files in the root directory /audiobooks will be ignored, all audiobooks should be in a directory

1 Folder: /Title/...
2 Folders: /Author/Title/...
3 Folders: /Author/Series/Title/...

Parsing publish year

/1984 - Hackers/...
Will save the publish year as 1984 and the title as Hackers

Parsing volume number (only for series)

/Book 3 - Hackers/...
Will save the volume number as 3 and the title as Hackers

Book Volume Vol Vol. are all supported case insensitive

These combinations will also work:
/Hackers - Vol. 3/...
/1984 - Volume 3 - Hackers/...
/1984 - Hackers Book 3/...

Parsing subtitles (optional in settings)

Title Folder: /Hackers - Heroes of the Computer Revolution/...

Will save the title as Hackers and the subtitle as Heroes of the Computer Revolution

Full example

/Steven Levy/The Hacker Series/1984 - Hackers - Heroes of the Computer Revolution - Vol. 1/...

Becomes:

Key Value
Author Steven Levy
Series The Hacker Series
Publish Year 1984
Title Hackers
Subtitle Heroes of the Computer Revolution
Volume Number 1

Features coming soon

  • Support different views to see more details of each audiobook
  • iOS App (Android is in beta here)

Installation

Docker Install

Available in Unraid Community Apps

docker pull advplyr/audiobookshelf

docker run -d \
  -p 1337:80 \
  -v </path/to/audiobooks>:/audiobooks \
  -v </path/to/config>:/config \
  -v </path/to/metadata>:/metadata \
  --name audiobookshelf \
  --rm advplyr/audiobookshelf

Linux (amd64) Install

A simple installer is added to setup the initial config. If you already have audiobooks, you can enter the path to your audiobooks during the install. The installer will create a user and group named audiobookshelf.

Ubuntu Install via PPA

A PPA is hosted on github, add and install:

curl -s --compressed "https://advplyr.github.io/audiobookshelf-ppa/KEY.gpg" | sudo apt-key add - 

sudo curl -s --compressed -o /etc/apt/sources.list.d/audiobookshelf.list "https://advplyr.github.io/audiobookshelf-ppa/audiobookshelf.list" 

sudo apt update 

sudo apt install audiobookshelf

or use a single command

curl -s --compressed "https://advplyr.github.io/audiobookshelf-ppa/KEY.gpg" | sudo apt-key add - && sudo curl -s --compressed -o /etc/apt/sources.list.d/audiobookshelf.list "https://advplyr.github.io/audiobookshelf-ppa/audiobookshelf.list" && sudo apt update && sudo apt install audiobookshelf

Install via debian package

Get the deb file from the github repo.

wget https://advplyr.github.io/audiobookshelf-ppa/audiobookshelf_1.2.3_amd64.deb

sudo apt install ./audiobookshelf_1.2.3_amd64.deb

File locations

Project directory: /usr/share/audiobookshelf/

Config file: /etc/default/audiobookshelf

System Service: /lib/systemd/system/audiobookshelf.service

Ffmpeg static build: /usr/lib/audiobookshelf-ffmpeg/

Run from source

Note: you will need npm, node12, and ffmpeg to run this project locally

git clone https://github.com/advplyr/audiobookshelf.git
cd audiobookshelf

# All paths default to root directory. Config path is the database.
# Directories will be created if they don't exist
# Paths are relative to the root directory, so "../Audiobooks" would be a valid path
npm run prod -- -p [PORT] --audiobooks [AUDIOBOOKS_PATH] --config [CONFIG_PATH] --metadata [METADATA_PATH]

Contributing

Feel free to help out