Add new features, fix .env setup, fix permissions and UID conflicts (#50)
* add support for Flaresolverr, automatic timezone detection * add scripts for cleaning up old users, and updating the containers * fix audiobookshelf, re-add jacket support * add optional folder and permission generation also use a previously unused function to clean up code * fix python UID for tautulli and jellyfin * remove empty file * docker-compose sample that uses env variables new .env sample, fixed setup * change default install directory to current dir * fix update_containers * remove obsolete version line * fix directory ownership * update README * address nitpicks * Update check_running.yml Updated auto-check workflow to also copy docker-compose sample file, updated syntax to docker compose without "-"
This commit is contained in:
61
setup.sh
61
setup.sh
@@ -1,20 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Set up your .env file BEFORE running this script!!!
|
||||
# export all variables from .env
|
||||
set -a
|
||||
source .env
|
||||
set +a
|
||||
# This is always going to complain about UID being a read-only variable.
|
||||
# However that is not a problem and it's necessary for UID to be defined in the .env so that docker-compose.yml can take it.
|
||||
# Reminder to set the UID variable in .env if you haven't already. It needs to be the user you want to run docker as. Find what it should be by running "id -u" from that user's shell.
|
||||
|
||||
# Make users and group
|
||||
sudo useradd sonarr -u 13001
|
||||
sudo useradd radarr -u 13002
|
||||
sudo useradd lidarr -u 13003
|
||||
sudo useradd readarr -u 13004
|
||||
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 useradd plex -u 13010
|
||||
sudo useradd sabnzbd -u 13011
|
||||
sudo useradd jellyseerr -u 13012
|
||||
sudo useradd bazarr -u 13013
|
||||
sudo groupadd mediacenter -g 13000
|
||||
sudo useradd sonarr -u $SONARR_UID
|
||||
sudo useradd radarr -u $RADARR_UID
|
||||
sudo useradd lidarr -u $LIDARR_UID
|
||||
sudo useradd readarr -u $READARR_UID
|
||||
sudo useradd mylar -u $MYLAR_UID
|
||||
sudo useradd prowlarr -u $PROWLARR_UID
|
||||
sudo useradd qbittorrent -u $QBITTORRENT_UID
|
||||
sudo useradd jackett -u $JACKETT_UID
|
||||
sudo useradd overseerr -u $OVERSEERR_UID
|
||||
sudo useradd plex -u $PLEX_UID
|
||||
sudo useradd sabnzbd -u $SABNZBD_UID
|
||||
sudo useradd jellyseerr -u $SABNZBD_UID
|
||||
sudo useradd bazarr -u $BAZARR_UID
|
||||
sudo useradd audiobookshelf -u $AUDIOBOOKSHELF_UID
|
||||
sudo groupadd mediacenter -g $MEDIACENTER_GID
|
||||
|
||||
# Adds current user to the mediacenter group. This is recommended so that you can still have access to files inside the ezarr folder structure for manual control.
|
||||
# This is way better than just doing everything as root, especially on NFS shares. Also some services run as the default user anyway (Jellyfin, Tautulli).
|
||||
sudo usermod -a -G mediacenter $USER
|
||||
# When you add the user to the group the changes don't take effect immediately.
|
||||
# You can force them by running "sudo newgrp mediacenter" but that won't always work and it's better to just reboot after the script finishes running.
|
||||
|
||||
# adds all the service users to the group
|
||||
sudo usermod -a -G mediacenter sonarr
|
||||
sudo usermod -a -G mediacenter radarr
|
||||
sudo usermod -a -G mediacenter lidarr
|
||||
@@ -28,14 +46,18 @@ sudo usermod -a -G mediacenter plex
|
||||
sudo usermod -a -G mediacenter sabnzbd
|
||||
sudo usermod -a -G mediacenter jellyseerr
|
||||
sudo usermod -a -G mediacenter bazarr
|
||||
sudo usermod -a -G mediacenter audiobookshelf
|
||||
|
||||
# Make directories
|
||||
sudo mkdir -pv config/{sonarr,radarr,lidarr,readarr,mylar,prowlarr,qbittorrent,jackett,audiobookshelf,overseerr,plex,tautulli,sabnzbd,jellyseerr,bazarr}-config
|
||||
sudo mkdir -pv data/{torrents,usenet,media}/{tv,movies,music,books,comics,audiobooks,podcasts,audiobookshelf-metadata}
|
||||
# ${ROOT_DIR:-.}/ means take the value from ROOT_DIR value, if failed or empty place it in the current folder
|
||||
sudo mkdir -pv ${ROOT_DIR:-.}/config/{sonarr,radarr,lidarr,readarr,mylar,prowlarr,qbittorrent,jackett,audiobookshelf,overseerr,plex,jellyfin,tautulli,sabnzbd,jellyseerr,bazarr}-config
|
||||
sudo mkdir -pv ${ROOT_DIR:-.}/data/{torrents,usenet,media}/{tv,movies,music,books,comics,audiobooks,podcasts,audiobookshelf-metadata}
|
||||
|
||||
# Set permissions
|
||||
sudo chmod -R 775 data/
|
||||
sudo chown -R $(id -u):mediacenter data/
|
||||
sudo chmod -R 775 config/
|
||||
sudo chown -R $UID:mediacenter data/
|
||||
sudo chown -R $UID:mediacenter config/
|
||||
sudo chown -R sonarr:mediacenter config/sonarr-config
|
||||
sudo chown -R radarr:mediacenter config/radarr-config
|
||||
sudo chown -R lidarr:mediacenter config/lidarr-config
|
||||
@@ -46,8 +68,11 @@ sudo chown -R qbittorrent:mediacenter config/qbittorrent-config
|
||||
sudo chown -R jackett:mediacenter config/jackett-config
|
||||
sudo chown -R overseerr:mediacenter config/overseerr-config
|
||||
sudo chown -R plex:mediacenter config/plex-config
|
||||
sudo chown -R $UID:mediacenter config/jellyfin-config
|
||||
sudo chown -R $UID:mediacenter config/tautulli-config
|
||||
sudo chown -R sabnzbd:mediacenter config/sabnzbd-config
|
||||
sudo chown -R jellyseerr:mediacenter config/jellyseerr-config
|
||||
sudo chown -R bazarr:mediacenter config/bazarr-config
|
||||
sudo chown -R audiobookshelf:mediacenter config/audiobookshelf-config
|
||||
|
||||
echo "UID=$(id -u)" >> .env
|
||||
echo "Done! It is recommended to reboot now."
|
||||
|
||||
Reference in New Issue
Block a user