|
|
|
@ -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 |
|
|
|
|
|
|
|
|
|