Self-hosted audiobook and podcast server
Go to file
2021-09-25 17:37:21 -05:00
build linux installer use existing config 2021-09-25 17:37:21 -05:00
client linux installer use existing config 2021-09-25 17:37:21 -05:00
images Auto add/update/remove audiobooks, update screenshots 2021-09-06 20:14:04 -05:00
server Debian preinstall script for config and ffmpeg 2021-09-25 13:01:53 -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 Update readme for running on local. Add command line arg parser. 2021-09-19 19:52:08 -05:00
package.json linux installer use existing config 2021-09-25 17:37:21 -05:00
prod.js Pkg scripts win/linux 2021-09-22 20:40:35 -05:00
readme.md Adding linux and ppa install to readme 2021-09-25 16:23:57 -05:00

AudioBookshelf

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

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

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

A PPA is setup on github here.

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

Debian package

All other linux distros can just wget the deb file.

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

sudo apt install ./audiobookshelf_1.2.1_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