Added support for Audiobookshelf

This commit is contained in:
Luc Timmerman
2022-11-23 19:54:28 +01:00
parent 2648a3a6dc
commit afb80f46f8
6 changed files with 45 additions and 2 deletions

View File

@@ -15,6 +15,7 @@ crash*. It doesn't necessarily mean it will run well on your system ;) It featur
tricky to set up, so do so at your own risk. In order to connect this to your Prowlarr container, tricky to set up, so do so at your own risk. In order to connect this to your Prowlarr container,
the process within Prowlarr is the same as for the other containers (add app). You'll have to add the process within Prowlarr is the same as for the other containers (add app). You'll have to add
an API key within Mylar3, yourself. an API key within Mylar3, yourself.
- [Audiobookshelf](https://www.audiobookshelf.org/) is a self-hosted audiobook and podcast server.
- [Prowlarr](https://wiki.servarr.com/prowlarr) can keep track of indexers, which are services that - [Prowlarr](https://wiki.servarr.com/prowlarr) can keep track of indexers, which are services that
keep track of Torrent or UseNet links. One can search an indexer for certain content and find a keep track of Torrent or UseNet links. One can search an indexer for certain content and find a
where to download this. **Note**: when adding an indexer, please do not set the "seed ratio" to where to download this. **Note**: when adding an indexer, please do not set the "seed ratio" to

View File

@@ -157,6 +157,24 @@ class ContainerConfig:
' restart: unless-stopped\n\n' ' restart: unless-stopped\n\n'
) )
def audiobookshelf(self):
return (
' audiobookshelf:\n'
' image: ghcr.io/advplyr/audiobookshelf:latest\n'
' container_name: audiobookshelf\n'
' environment:\n'
' - AUDIOBOOKSHELF_UID=13009\n'
' - AUDIOBOOKSHELF_GID=13000\n'
' volumes:\n'
' - ' + self.config_dir + '/audiobookshelf:/config\n'
' - ' + self.root_dir + '/data/audiobooks:/audiobooks\n'
' - ' + self.root_dir + '/data/podcasts:/podcasts\n'
' - ' + self.root_dir + '/data/metadata:/metadata\n'
' ports:\n'
' - "13378:80"\n'
' restart: unless-stopped\n\n'
)
def prowlarr(self): def prowlarr(self):
return ( return (
' prowlarr:\n' ' prowlarr:\n'

View File

@@ -75,6 +75,20 @@ services:
- "8090:8090" - "8090:8090"
restart: unless-stopped restart: unless-stopped
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
environment:
- AUDIOBOOKSHELF_UID=13009
- AUDIOBOOKSHELF_GID=13000
ports:
- "13378:80"
volumes:
- /home/user/ezarr/data/audiobooks:/audiobooks
- /home/user/ezarr/data/podcasts:/podcasts
- /home/user/ezarr/config/audiobookshelf:/config
- /home/user/ezarr/data/audiobookshelf-metadata:/metadata
prowlarr: prowlarr:
image: lscr.io/linuxserver/prowlarr:develop image: lscr.io/linuxserver/prowlarr:develop
container_name: prowlarr container_name: prowlarr

View File

@@ -50,6 +50,8 @@ print('Use Readarr? [Y/n]', end=" ")
take_input('readarr', 'servarr') take_input('readarr', 'servarr')
print('Use Mylar3? [Y/n]', end=" ") print('Use Mylar3? [Y/n]', end=" ")
take_input('mylar3', 'servarr') take_input('mylar3', 'servarr')
print('Use Audiobookshelf? [Y/n]', end=" ")
take_input('audiobookshelf', 'servarr')
if len(services_classed['servarr']) == 0: if len(services_classed['servarr']) == 0:
print('Warning: no media management services selected.') print('Warning: no media management services selected.')

View File

@@ -20,8 +20,8 @@ sudo usermod -a -G mediacenter qbittorrent
sudo usermod -a -G mediacenter jackett sudo usermod -a -G mediacenter jackett
# Make directories # Make directories
sudo mkdir -pv docker/{sonarr,radarr,lidarr,readarr,mylar,prowlarr,qbittorrent,jackett}-config sudo mkdir -pv docker/{sonarr,radarr,lidarr,readarr,mylar,prowlarr,qbittorrent,jackett,audiobookshelf}-config
sudo mkdir -pv data/{torrents,media}/{tv,movies,music,books,comics} sudo mkdir -pv data/{torrents,media}/{tv,movies,music,books,comics,audiobooks,podcasts,audiobookshelf-metadata}
# Set permissions # Set permissions
sudo chmod -R 775 data/ sudo chmod -R 775 data/

View File

@@ -52,6 +52,14 @@ class UserGroupSetup:
self.create_config_dir('mylar') self.create_config_dir('mylar')
os.system('sudo usermod -a -G mediacenter mylar') os.system('sudo usermod -a -G mediacenter mylar')
def audiobookshelf(self):
os.system(
'sudo useradd audiobookshelf -u 13009'
' && sudo mkdir -pv ' + self.root_dir + 'data/{media,torrents}/audiobooks -m 775'
)
self.create_config_dir('audiobookshelf')
os.system('sudo usermod -a -G mediacenter audiobookshelf')
def prowlarr(self): def prowlarr(self):
os.system('sudo useradd prowlarr -u 13006') os.system('sudo useradd prowlarr -u 13006')
self.create_config_dir('prowlarr') self.create_config_dir('prowlarr')