浏览代码

Update jellyfin-install.sh

Use the Deb822 format jellyfin.sources
tteckster 2 年之前
父节点
当前提交
3e7f070ea8
共有 1 个文件被更改,包括 19 次插入28 次删除
  1. 19 28
      install/jellyfin-install.sh

+ 19 - 28
install/jellyfin-install.sh

@@ -16,9 +16,8 @@ update_os
 msg_info "Installing Dependencies"
 $STD apt-get install -y curl
 $STD apt-get install -y sudo
+$STD apt-get install -y gnupg
 $STD apt-get install -y mc
-$STD apt-get install -y apt-transport-https
-$STD apt-get install -y software-properties-common
 msg_ok "Installed Dependencies"
 
 if [[ -z "$(grep -w "100000" /proc/self/uid_map)" ]]; then
@@ -37,36 +36,28 @@ if [[ -z "$(grep -w "100000" /proc/self/uid_map)" ]]; then
   msg_ok "Set Up Hardware Acceleration"
 fi
 
-msg_info "Setting Up Jellyfin Repository"
-$STD add-apt-repository universe -y
-$STD apt-key add <(curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key)
-sh -c 'echo "deb [arch=$(dpkg --print-architecture)] https://repo.jellyfin.org/ubuntu $(lsb_release -c -s) main" > /etc/apt/sources.list.d/jellyfin.list'
-msg_ok "Set Up Jellyfin Repository"
-
 msg_info "Installing Jellyfin"
+VERSION="$( awk -F'=' '/^UBUNTU_CODENAME=/{ print $NF }' /etc/os-release )"
+# If the keyring directory is absent, create it
+if [[ ! -d /etc/apt/keyrings ]]; then
+    mkdir -p /etc/apt/keyrings
+fi
+# Download the repository signing key and install it to the keyring directory
+curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor --yes --output /etc/apt/keyrings/jellyfin.gpg
+# Install the Deb822 format jellyfin.sources entry
+cat <<EOF >/etc/apt/sources.list.d/jellyfin.sources
+Types: deb
+URIs: https://repo.jellyfin.org/${PCT_OSTYPE}
+Suites: ${VERSION}
+Components: main
+Architectures: amd64
+Signed-By: /etc/apt/keyrings/jellyfin.gpg
+EOF
+# Install Jellyfin using the metapackage (which will fetch jellyfin-server, jellyfin-web, and jellyfin-ffmpeg5)
 $STD apt-get update
-$STD apt install jellyfin-server -y
-$STD apt install jellyfin-ffmpeg5 -y
+$STD apt-get install -y jellyfin
 msg_ok "Installed Jellyfin"
 
-msg_info "Creating Service"
-cat <<'EOF' >/lib/systemd/system/jellyfin.service
-[Unit]
-Description = Jellyfin Media Server
-After = network.target
-[Service]
-Type = simple
-EnvironmentFile = /etc/default/jellyfin
-User = root
-ExecStart = /usr/bin/jellyfin
-Restart = on-failure
-TimeoutSec = 15
-[Install]
-WantedBy = multi-user.target
-EOF
-ln -s /usr/share/jellyfin/web/ /usr/lib/jellyfin/bin/jellyfin-web
-msg_ok "Created Service"
-
 motd_ssh
 root