push jellyfin
This commit is contained in:
parent
7be780b25b
commit
3148c30016
45
ct/jellyfin.sh
Normal file
45
ct/jellyfin.sh
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 tteck
|
||||||
|
# Author: tteck (tteckster)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://jellyfin.org/
|
||||||
|
|
||||||
|
APP="Jellyfin"
|
||||||
|
var_tags="${var_tags:-media}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-8}"
|
||||||
|
var_os="${var_os:-ubuntu}"
|
||||||
|
var_version="${var_version:-24.04}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
if [[ ! -d /usr/lib/jellyfin ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
msg_info "Updating ${APP} LXC"
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get -y upgrade
|
||||||
|
$STD apt-get -y --with-new-pkgs upgrade jellyfin jellyfin-server
|
||||||
|
msg_ok "Updated ${APP} LXC"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8096${CL}"
|
64
install/jellyfin-install.sh
Normal file
64
install/jellyfin-install.sh
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 tteck
|
||||||
|
# Author: tteck (tteckster)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://jellyfin.org/
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Setting Up Hardware Acceleration"
|
||||||
|
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
|
||||||
|
if [[ "$CTTYPE" == "0" ]]; then
|
||||||
|
chgrp video /dev/dri
|
||||||
|
chmod 755 /dev/dri
|
||||||
|
chmod 660 /dev/dri/*
|
||||||
|
$STD adduser $(id -u -n) video
|
||||||
|
$STD adduser $(id -u -n) render
|
||||||
|
fi
|
||||||
|
msg_ok "Set Up Hardware Acceleration"
|
||||||
|
|
||||||
|
msg_info "Installing Jellyfin"
|
||||||
|
VERSION="$(awk -F'=' '/^VERSION_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-get install -y jellyfin
|
||||||
|
sed -i 's/"MinimumLevel": "Information"/"MinimumLevel": "Error"/g' /etc/jellyfin/logging.json
|
||||||
|
chown -R jellyfin:adm /etc/jellyfin
|
||||||
|
sleep 10
|
||||||
|
systemctl restart jellyfin
|
||||||
|
if [[ "$CTTYPE" == "0" ]]; then
|
||||||
|
sed -i -e 's/^ssl-cert:x:104:$/render:x:104:root,jellyfin/' -e 's/^render:x:108:root,jellyfin$/ssl-cert:x:108:/' /etc/group
|
||||||
|
else
|
||||||
|
sed -i -e 's/^ssl-cert:x:104:$/render:x:104:jellyfin/' -e 's/^render:x:108:jellyfin$/ssl-cert:x:108:/' /etc/group
|
||||||
|
fi
|
||||||
|
msg_ok "Installed Jellyfin"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
Loading…
x
Reference in New Issue
Block a user