From 297b3bfe9859caa2de093d6a6542a8e46612a34d Mon Sep 17 00:00:00 2001 From: strahey Date: Wed, 22 Mar 2023 08:38:27 -0400 Subject: [PATCH] Added support for Overseerr (#26) * Update README.md * adding support for overseerr * fixed wrong dictionary * changed readme.md to shorten line 34 changed container_config.py, users_groups_setp.py to change puid from 13010 to 13009 changed setup.sh changed puid for overseerr to 13009 and fixed chown command to use overeerr ID changed main.py to only ask overeerr question if plex is chosen --- README.md | 2 ++ container_configs.py | 17 +++++++++++++++++ main.py | 3 +++ setup.sh | 5 ++++- users_groups_setup.py | 6 ++++++ 5 files changed, 32 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 96242c0..6018fc3 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,8 @@ crash*. It doesn't necessarily mean it will run well on your system ;) It featur what has been watched, who watched it, when and where they watched it, and how it was watched. - [Jellyfin](https://jellyfin.org/) is an alternative for PleX. Which you'd like to use is a matter of preference, and you *could* even use both, although this is probably a waste of resources. +- [Overseerr](https://overseerr.dev/) is a show and movie request management and media discovery + tool. ## Using ### Using the CLI diff --git a/container_configs.py b/container_configs.py index d62a6ca..f50f510 100644 --- a/container_configs.py +++ b/container_configs.py @@ -212,3 +212,20 @@ class ContainerConfig: ' - "6881:6881/udp"\n' ' restart: unless-stopped\n\n' ) + + def overseerr(self): + return ( + ' overseerr:\n' + ' image: sctx/overseerr:latest\n' + ' container_name: overseerr\n' + ' environment:\n' + ' - PUID=13009\n' + ' - PGID=13000\n' + ' - UMASK=002\n' + ' - TZ=' + self.timezone + '\n' + ' volumes:\n' + ' - ' + self.config_dir + '/overseerr-config:/app/config\n' + ' ports:\n' + ' - "5055:5055"\n' + ' restart: unless-stopped\n\n' + ) diff --git a/main.py b/main.py index 6df23e1..8d06b40 100644 --- a/main.py +++ b/main.py @@ -69,6 +69,9 @@ take_input('plex', 'ms') if services_classed['ms'].__contains__('plex'): print('Use Tautulli? [Y/n]', end=" ") take_input('tautulli', 'ms') + if services_classed['servarr'].__contains__('sonarr') or services_classed['servarr'].__contains__('radarr'): + print('Use Overseerr? [Y/n]', end=" ") + take_input('overseerr', 'servarr') print('Use Jellyfin? [Y/n]', end=" ") take_input('jellyfin', 'ms') if len(services_classed['ms']) == 0: diff --git a/setup.sh b/setup.sh index 3aa7be3..b78cf84 100755 --- a/setup.sh +++ b/setup.sh @@ -9,6 +9,7 @@ sudo useradd mylar -u 13005 sudo useradd prowlarr -u 13006 sudo useradd qbittorrent -u 13007 sudo useradd jackett -u 13008 +sudo useradd overseerr -u 13009 sudo groupadd mediacenter -g 13000 sudo usermod -a -G mediacenter sonarr sudo usermod -a -G mediacenter radarr @@ -18,9 +19,10 @@ sudo usermod -a -G mediacenter mylar sudo usermod -a -G mediacenter prowlarr sudo usermod -a -G mediacenter qbittorrent sudo usermod -a -G mediacenter jackett +sudo usermod -a -G mediacenter overseerr # Make directories -sudo mkdir -pv docker/{sonarr,radarr,lidarr,readarr,mylar,prowlarr,qbittorrent,jackett,audiobookshelf}-config +sudo mkdir -pv docker/{sonarr,radarr,lidarr,readarr,mylar,prowlarr,qbittorrent,jackett,audiobookshelf,overseerr}-config sudo mkdir -pv data/{torrents,media}/{tv,movies,music,books,comics,audiobooks,podcasts,audiobookshelf-metadata} # Set permissions @@ -34,5 +36,6 @@ sudo chown -R mylar:mediacenter docker/mylar-config sudo chown -R prowlarr:mediacenter docker/prowlarr-config sudo chown -R qbittorrent:mediacenter docker/qbittorrent-config sudo chown -R jackett:mediacenter docker/jackett-config +sudo chown -R overseerr:mediacenter docker/overseerr-config echo "UID=$(id -u)" >> .env diff --git a/users_groups_setup.py b/users_groups_setup.py index e62cac9..6a47e52 100644 --- a/users_groups_setup.py +++ b/users_groups_setup.py @@ -87,3 +87,9 @@ class UserGroupSetup: def qbittorrent(self): os.system('sudo useradd qbittorrent -u 13007') os.system('sudo usermod -a -G mediacenter qbittorrent') + + def overseerr(self): + os.system('sudo useradd overseerr -u 13009') + self.create_config_dir('overseerr') + os.system('sudo usermod -a -G mediacenter overseerr') +