Self-hosted audiobook and podcast server
Go to file
2021-09-21 16:55:32 -05:00
client Player track chapter tickmarks, highlight current chapter, progress filters, links in stream container 2021-09-21 16:42:01 -05:00
images Auto add/update/remove audiobooks, update screenshots 2021-09-06 20:14:04 -05:00
server Add script & file for running production without docker 2021-09-19 19:22:35 -05:00
static Fix server client.user undefined, update logo 2021-09-03 06:40:59 -05:00
.dockerignore Fix multi-select, add new book flag 2021-09-01 13:47:18 -05:00
.gitignore Fix multi-select, add new book flag 2021-09-01 13:47:18 -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 Fix package.json script 2021-09-21 16:55:32 -05:00
prod.js Update readme for running on local. Add command line arg parser. 2021-09-19 19:52:08 -05:00
readme.md Update readme for running on local. Add command line arg parser. 2021-09-19 19:52:08 -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

Built to run in Docker for now (also on Unraid server Community Apps)

docker run -d -p 1337:80 -v /audiobooks:/audiobooks -v /config:/config -v /metadata:/metadata --name audiobookshelf --rm advplyr/audiobookshelf

Running on your local

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]

# You only need to use `npm run prod` the first time, after that use `npm run start`
npm run start -- -p [PORT] --audiobooks [AUDIOBOOKS_PATH] --config [CONFIG_PATH] --metadata [METADATA_PATH]

Contributing

Feel free to help out