From 3af507cc74f2a7c658ebeba6dd3684d1effb5ac6 Mon Sep 17 00:00:00 2001 From: Luc Timmerman <48736891+Luctia@users.noreply.github.com> Date: Thu, 26 Jan 2023 19:17:26 +0100 Subject: [PATCH] Fix permissions (#21) --- docker-compose.yml | 61 +++++++++++++++++-------------------------- users_groups_setup.py | 31 +++++++++++++++++----- 2 files changed, 49 insertions(+), 43 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index c5415b1..f628837 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,8 +10,8 @@ services: - UMASK=002 - TZ=Europe/Amsterdam volumes: - - /home/user/ezarr/config/sonarr-config:/config - - /home/user/ezarr/data:/data + - /home/luctia/ezarr/config/sonarr-config:/config + - /home/luctia/ezarr/data:/data ports: - "8989:8989" restart: unless-stopped @@ -25,8 +25,8 @@ services: - UMASK=002 - TZ=Europe/Amsterdam volumes: - - /home/user/ezarr/config/radarr-config:/config - - /home/user/ezarr/data:/data + - /home/luctia/ezarr/config/radarr-config:/config + - /home/luctia/ezarr/data:/data ports: - "7878:7878" restart: unless-stopped @@ -40,8 +40,8 @@ services: - UMASK=002 - TZ=Europe/Amsterdam volumes: - - /home/user/ezarr/config/lidarr-config:/config - - /home/user/ezarr/data:/data + - /home/luctia/ezarr/config/lidarr-config:/config + - /home/luctia/ezarr/data:/data ports: - "8686:8686" restart: unless-stopped @@ -55,8 +55,8 @@ services: - UMASK=002 - TZ=Europe/Amsterdam volumes: - - /home/user/ezarr/config/readarr-config:/config - - /home/user/ezarr/data:/data + - /home/luctia/ezarr/config/readarr-config:/config + - /home/luctia/ezarr/data:/data ports: - "8787:8787" restart: unless-stopped @@ -69,8 +69,8 @@ services: - PGID=13000 - UMASK=002 volumes: - - /home/user/ezarr/config/mylar-config:/config - - /home/user/ezarr/data:/data + - /home/luctia/ezarr/config/mylar-config:/config + - /home/luctia/ezarr/data:/data ports: - "8090:8090" restart: unless-stopped @@ -81,13 +81,14 @@ services: environment: - AUDIOBOOKSHELF_UID=13009 - AUDIOBOOKSHELF_GID=13000 + volumes: + - /home/luctia/ezarr/config/audiobookshelf:/config + - /home/luctia/ezarr/data/audiobooks:/audiobooks + - /home/luctia/ezarr/data/podcasts:/podcasts + - /home/luctia/ezarr/data/metadata:/metadata 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 + restart: unless-stopped prowlarr: image: lscr.io/linuxserver/prowlarr:develop @@ -98,7 +99,7 @@ services: - UMASK=002 - TZ=Europe/Amsterdam volumes: - - /home/user/ezarr/config/prowlarr-config:/config + - /home/luctia/ezarr/config/prowlarr-config:/config ports: - "9696:9696" restart: unless-stopped @@ -113,8 +114,8 @@ services: - VERSION=docker - PLEX_CLAIM= volumes: - - /home/user/ezarr/config/plex-config:/config - - /home/user/ezarr/data/media:/media + - /home/luctia/ezarr/config/plex-config:/config + - /home/luctia/ezarr/data/media:/media restart: unless-stopped tautulli: @@ -127,7 +128,7 @@ services: - PGID=13000 - TZ=Europe/Amsterdam volumes: - - /home/user/ezarr/config/tautulli-config:/config + - /home/luctia/ezarr/config/tautulli-config:/config ports: - "8181:8181" restart: unless-stopped @@ -141,26 +142,12 @@ services: - UMASK=002 - TZ=Europe/Amsterdam volumes: - - /home/user/ezarr/config/jellyfin-config:/config - - /home/user/ezarr/data/media:/data + - /home/luctia/ezarr/config/jellyfin-config:/config + - /home/luctia/ezarr/data/media:/data ports: - "8096:8096" restart: unless-stopped - jackett: - image: lscr.io/linuxserver/jackett:latest - container_name: jackett - environment: - - PUID=13008 - - PGID=13000 - - UMASK=002 - - TZ=${TIMEZONE} - volumes: - - ${ROOT_DIR}/docker/jackett-config:/config - ports: - - 9117:9117 - restart: unless-stopped - qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent @@ -171,8 +158,8 @@ services: - TZ=Europe/Amsterdam - WEBUI_PORT=8080 volumes: - - /home/user/ezarr/config/qbittorrent-config:/config - - /home/user/ezarr/data/torrents:/data/torrents + - /home/luctia/ezarr/config/qbittorrent-config:/config + - /home/luctia/ezarr/data/torrents:/data/torrents ports: - "8080:8080" - "6881:6881" diff --git a/users_groups_setup.py b/users_groups_setup.py index b80aaff..e62cac9 100644 --- a/users_groups_setup.py +++ b/users_groups_setup.py @@ -10,12 +10,16 @@ class UserGroupSetup: os.system( f'sudo mkdir -p {self.root_dir}/docker/{service_name}-config' f' ; sudo chown -R {service_name}:mediacenter {self.root_dir}/docker/{service_name}-config' + f' ; sudo chown $(id -u):mediacenter {self.root_dir}/docker' ) def sonarr(self): os.system( '/bin/bash -c "sudo useradd sonarr -u 13001' - ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/tv -m 775"' + ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/tv -m 775' + ' ; sudo chown -R sonarr:mediacenter ' + self.root_dir + '/data/{media,torrents}/tv' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data/{media,torrents}"' ) self.create_config_dir('sonarr') os.system('sudo usermod -a -G mediacenter sonarr') @@ -23,7 +27,10 @@ class UserGroupSetup: def radarr(self): os.system( '/bin/bash -c "sudo useradd radarr -u 13002' - ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/movies -m 775"' + ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/movies -m 775' + ' ; sudo chown -R radarr:mediacenter ' + self.root_dir + '/data/{media,torrents}/movies' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data/{media,torrents}"' ) self.create_config_dir('radarr') os.system('sudo usermod -a -G mediacenter radarr') @@ -31,7 +38,10 @@ class UserGroupSetup: def lidarr(self): os.system( '/bin/bash -c "sudo useradd lidarr -u 13003' - ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/music -m 775"' + ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/music -m 775' + ' ; sudo chown -R lidarr:mediacenter ' + self.root_dir + '/data/{media,torrents}/music' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data/{media,torrents}"' ) self.create_config_dir('lidarr') os.system('sudo usermod -a -G mediacenter lidarr') @@ -39,7 +49,10 @@ class UserGroupSetup: def readarr(self): os.system( '/bin/bash -c "sudo useradd readarr -u 13004' - ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/books -m 775"' + ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/books -m 775' + ' ; sudo chown -R readarr:mediacenter ' + self.root_dir + '/data/{media,torrents}/books' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data/{media,torrents}"' ) self.create_config_dir('readarr') os.system('sudo usermod -a -G mediacenter readarr') @@ -47,7 +60,10 @@ class UserGroupSetup: def mylar3(self): os.system( '/bin/bash -c "sudo useradd mylar -u 13005' - ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/comics -m 775"' + ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/comics -m 775' + ' ; sudo chown -R mylar:mediacenter ' + self.root_dir + '/data/{media,torrents}/comics' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data/{media,torrents}"' ) self.create_config_dir('mylar') os.system('sudo usermod -a -G mediacenter mylar') @@ -55,7 +71,10 @@ class UserGroupSetup: def audiobookshelf(self): os.system( '/bin/bash -c "sudo useradd audiobookshelf -u 13009' - ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/audiobooks -m 775"' + ' ; sudo mkdir -pv ' + self.root_dir + '/data/{media,torrents}/audiobooks -m 775' + ' ; sudo chown -R audiobookshelf:mediacenter ' + self.root_dir + '/data/{media,torrents}/audiobooks' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data' + ' ; sudo chown $(id -u):mediacenter ' + self.root_dir + '/data/{media,torrents}"' ) self.create_config_dir('audiobookshelf') os.system('sudo usermod -a -G mediacenter audiobookshelf')