Implement configuration directory customization. #74
@ -11,7 +11,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ${MEDIA_DIRECTORY}:/data
|
- ${MEDIA_DIRECTORY}:/data
|
||||||
- ${INSTALL_DIRECTORY}/config/${MEDIA_SERVICE}:/config
|
- ${CONFIG_DIRECTORY}/${MEDIA_SERVICE}/${MEDIA_SERVICE}:/config
|
||||||
ports: # plex
|
ports: # plex
|
||||||
- 8096:8096 # plex
|
- 8096:8096 # plex
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@ -27,7 +27,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ${MEDIA_DIRECTORY}:/data
|
- ${MEDIA_DIRECTORY}:/data
|
||||||
- ${INSTALL_DIRECTORY}/config/qbittorrent:/config
|
- ${CONFIG_DIRECTORY}/qbittorrent:/config
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports: # qbittorrent
|
ports: # qbittorrent
|
||||||
- 8081:8081 # qbittorrent
|
- 8081:8081 # qbittorrent
|
||||||
@ -44,7 +44,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ${MEDIA_DIRECTORY}:/data
|
- ${MEDIA_DIRECTORY}:/data
|
||||||
- ${INSTALL_DIRECTORY}/config/sabnzbd:/config
|
- ${CONFIG_DIRECTORY}/sabnzbd:/config
|
||||||
ports: # sabnzbd
|
ports: # sabnzbd
|
||||||
- 8080:8080 # sabnzbd
|
- 8080:8080 # sabnzbd
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@ -61,7 +61,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ${MEDIA_DIRECTORY}:/data
|
- ${MEDIA_DIRECTORY}:/data
|
||||||
- ${INSTALL_DIRECTORY}/config/sonarr:/config
|
- ${CONFIG_DIRECTORY}/sonarr:/config
|
||||||
ports:
|
ports:
|
||||||
- 8989:8989
|
- 8989:8989
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@ -77,7 +77,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ${MEDIA_DIRECTORY}:/data
|
- ${MEDIA_DIRECTORY}:/data
|
||||||
- ${INSTALL_DIRECTORY}/config/radarr:/config
|
- ${CONFIG_DIRECTORY}/radarr:/config
|
||||||
ports:
|
ports:
|
||||||
- 7878:7878
|
- 7878:7878
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@ -93,7 +93,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ${MEDIA_DIRECTORY}:/data
|
- ${MEDIA_DIRECTORY}:/data
|
||||||
- ${INSTALL_DIRECTORY}/config/lidarr:/config
|
- ${CONFIG_DIRECTORY}/lidarr:/config
|
||||||
ports:
|
ports:
|
||||||
- 8686:8686
|
- 8686:8686
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@ -109,7 +109,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ${MEDIA_DIRECTORY}:/data
|
- ${MEDIA_DIRECTORY}:/data
|
||||||
- ${INSTALL_DIRECTORY}/config/readarr:/config
|
- ${CONFIG_DIRECTORY}/readarr:/config
|
||||||
ports:
|
ports:
|
||||||
- 8787:8787
|
- 8787:8787
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@ -125,7 +125,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ${MEDIA_DIRECTORY}:/data
|
- ${MEDIA_DIRECTORY}:/data
|
||||||
- ${INSTALL_DIRECTORY}/config/bazarr:/config
|
- ${CONFIG_DIRECTORY}/bazarr:/config
|
||||||
ports:
|
ports:
|
||||||
- 6767:6767
|
- 6767:6767
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@ -140,7 +140,7 @@ services:
|
|||||||
- PGID=${PGID}
|
- PGID=${PGID}
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- ${INSTALL_DIRECTORY}/config/prowlarr:/config
|
- ${CONFIG_DIRECTORY}/prowlarr:/config
|
||||||
ports:
|
ports:
|
||||||
- 9696:9696
|
- 9696:9696
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@ -179,7 +179,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
- ${INSTALL_DIRECTORY}/config/portainer:/data
|
- ${CONFIG_DIRECTORY}/portainer:/data
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
# Watchtower is going to keep our instances updated
|
# Watchtower is going to keep our instances updated
|
||||||
|
11
install.sh
11
install.sh
@ -25,6 +25,7 @@ echo ""
|
|||||||
|
|
||||||
# Constants
|
# Constants
|
||||||
readonly DEFAULT_INSTALL_DIR="/opt/yams"
|
readonly DEFAULT_INSTALL_DIR="/opt/yams"
|
||||||
|
readonly DEFAULT_CONFIG_DIR="/opt/yams/config"
|
||||||
readonly DEFAULT_MEDIA_DIR="/srv/media"
|
readonly DEFAULT_MEDIA_DIR="/srv/media"
|
||||||
readonly SUPPORTED_MEDIA_SERVICES=("jellyfin" "emby" "plex")
|
readonly SUPPORTED_MEDIA_SERVICES=("jellyfin" "emby" "plex")
|
||||||
readonly DEFAULT_MEDIA_SERVICE="jellyfin"
|
readonly DEFAULT_MEDIA_SERVICE="jellyfin"
|
||||||
@ -336,6 +337,10 @@ get_installation_paths() {
|
|||||||
install_directory=${install_directory:-$DEFAULT_INSTALL_DIR}
|
install_directory=${install_directory:-$DEFAULT_INSTALL_DIR}
|
||||||
create_and_verify_directory "$install_directory" "installation"
|
create_and_verify_directory "$install_directory" "installation"
|
||||||
|
|
||||||
|
read -p "Configuration directory? [$DEFAULT_CONFIG_DIR]: " config_directory
|
||||||
|
config_directory=${config_directory:-$DEFAULT_CONFIG_DIR}
|
||||||
|
create_and_verify_directory "$config_directory" "configuration"
|
||||||
|
|
||||||
read -p "Media directory? [$DEFAULT_MEDIA_DIR]: " media_directory
|
read -p "Media directory? [$DEFAULT_MEDIA_DIR]: " media_directory
|
||||||
media_directory=${media_directory:-$DEFAULT_MEDIA_DIR}
|
media_directory=${media_directory:-$DEFAULT_MEDIA_DIR}
|
||||||
|
|
||||||
@ -348,8 +353,9 @@ get_installation_paths() {
|
|||||||
|
|
||||||
setup_directory_structure "$media_directory"
|
setup_directory_structure "$media_directory"
|
||||||
verify_user_permissions "$username" "$media_directory"
|
verify_user_permissions "$username" "$media_directory"
|
||||||
|
verify_user_permissions "$username" "$config_directory"
|
||||||
|
|
||||||
export install_directory media_directory
|
export install_directory media_directory config_directory
|
||||||
}
|
}
|
||||||
|
|
||||||
copy_configuration_files() {
|
copy_configuration_files() {
|
||||||
@ -382,6 +388,7 @@ update_configuration_files() {
|
|||||||
sed -i -e "s|<your_PUID>|$puid|g" \
|
sed -i -e "s|<your_PUID>|$puid|g" \
|
||||||
-e "s|<your_PGID>|$pgid|g" \
|
-e "s|<your_PGID>|$pgid|g" \
|
||||||
-e "s|<media_directory>|$media_directory|g" \
|
-e "s|<media_directory>|$media_directory|g" \
|
||||||
|
-e "s|<config_directory>|$config_directory|g" \
|
||||||
-e "s|<media_service>|$media_service|g" \
|
-e "s|<media_service>|$media_service|g" \
|
||||||
-e "s|<install_directory>|$install_directory|g" \
|
-e "s|<install_directory>|$install_directory|g" \
|
||||||
-e "s|vpn_enabled|$setup_vpn|g" "$env_file" || \
|
-e "s|vpn_enabled|$setup_vpn|g" "$env_file" || \
|
||||||
@ -454,7 +461,7 @@ install_cli() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
set_permissions() {
|
set_permissions() {
|
||||||
local dirs=("$media_directory" "$install_directory" "$install_directory/config")
|
local dirs=("$media_directory" "$install_directory" "$config_directory")
|
||||||
|
|
||||||
for dir in "${dirs[@]}"; do
|
for dir in "${dirs[@]}"; do
|
||||||
log_info "Setting permissions for $dir..."
|
log_info "Setting permissions for $dir..."
|
||||||
|
Loading…
x
Reference in New Issue
Block a user