From b629750dbe95e8c1d32df10872730ae97d13e387 Mon Sep 17 00:00:00 2001 From: ben Date: Thu, 7 Sep 2023 03:06:23 +0000 Subject: [PATCH] Update 'root/usr/libexec/apps/jellyfin.sh' --- root/usr/libexec/apps/jellyfin.sh | 134 ++++++++++++++++-------------- 1 file changed, 72 insertions(+), 62 deletions(-) diff --git a/root/usr/libexec/apps/jellyfin.sh b/root/usr/libexec/apps/jellyfin.sh index b66c11c..66903c8 100644 --- a/root/usr/libexec/apps/jellyfin.sh +++ b/root/usr/libexec/apps/jellyfin.sh @@ -1,98 +1,108 @@ #!/bin/sh - ACTION=${1} shift 1 -ARCH="default" -IMAGE_NAME='default' - get_image() { - IMAGE_NAME="jellyfin/jellyfin" -} - -do_install() { - get_image - echo "docker pull ${IMAGE_NAME}" - docker pull ${IMAGE_NAME} - docker rm -f jellyfin - - do_install_detail + IMAGE_NAME=$(uci get jellyfin.@jellyfin[0].image_name 2>/dev/null) } do_install_detail() { - local hostnet=`uci get jellyfin.@jellyfin[0].hostnet 2>/dev/null` - local media=`uci get jellyfin.@jellyfin[0].media_path 2>/dev/null` - local config=`uci get jellyfin.@jellyfin[0].config_path 2>/dev/null` - local cache=`uci get jellyfin.@jellyfin[0].cache_path 2>/dev/null` - local port=`uci get jellyfin.@jellyfin[0].port 2>/dev/null` - local dev + local config=$(uci get jellyfin.@jellyfin[0].config_path 2>/dev/null) + local port=$(uci get jellyfin.@jellyfin[0].port 2>/dev/null) + local IMAGE_NAME=$(uci get jellyfin.@jellyfin[0].image_name 2>/dev/null) + + LAN_IP=$(uci get network.lan.ipaddr) + LAN_IP="${LAN_IP%/*}" if [ -z "$config" ]; then - echo "config path is empty!" - exit 1 + echo "config path is empty!" + exit 1 fi [ -z "$port" ] && port=8096 - - local cmd="docker run --restart=unless-stopped -d -v \"$config:/config\" " - - if [ "$hostnet" = 1 ]; then - cmd="$cmd\ - --dns=127.0.0.1 \ - --network=host " - else - cmd="$cmd\ - --dns=172.17.0.1 \ - -p $port:8096 " - fi - - local tz="`uci get system.@system[0].zonename`" - [ -z "$tz" ] || cmd="$cmd -e TZ=$tz" - - [ -z "$cache" ] || cmd="$cmd -v \"$cache:/config/transcodes\"" - [ -z "$media" ] || cmd="$cmd -v \"$media:/media\"" - - cmd="$cmd -v /mnt:/mnt" - mountpoint -q /mnt && cmd="$cmd:rslave" - cmd="$cmd --name jellyfin \"$IMAGE_NAME\"" - - echo "$cmd" - eval "$cmd" - + [ -z "$IMAGE_NAME" ] && IMAGE_NAME="lscr.io/linuxserver/jellyfin:latest" + + rm -R /opt/docker2/compose/jellyfin-app + mkdir /opt/docker2/compose/jellyfin-app + + touch /opt/docker2/compose/jellyfin-app/docker-compose.yml + cat > /opt/docker2/compose/jellyfin-app/docker-compose.yml <