mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Refactor: Tdarr (#6969)
This commit is contained in:
		
							
								
								
									
										12
									
								
								ct/tdarr.sh
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								ct/tdarr.sh
									
									
									
									
									
								
							@@ -30,7 +30,19 @@ function update_script() {
 | 
			
		||||
  msg_info "Updating $APP LXC"
 | 
			
		||||
  $STD apt-get update
 | 
			
		||||
  $STD apt-get -y upgrade
 | 
			
		||||
  rm -rf /opt/tdarr/Tdarr_Updater
 | 
			
		||||
  cd /opt/tdarr
 | 
			
		||||
  RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1)
 | 
			
		||||
  curl -fsSL "$RELEASE" -o Tdarr_Updater.zip
 | 
			
		||||
  $STD unzip Tdarr_Updater.zip
 | 
			
		||||
  chmod +x Tdarr_Updater
 | 
			
		||||
  $STD ./Tdarr_Updater
 | 
			
		||||
  msg_ok "Updated $APP LXC"
 | 
			
		||||
 | 
			
		||||
  msg_info "Cleaning up"
 | 
			
		||||
  rm -rf /opt/tdarr/Tdarr_Updater.zip
 | 
			
		||||
  msg_ok "Cleaned"
 | 
			
		||||
  msg_ok "$APP has been successfully updated!"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": false,
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 8265,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
 
 | 
			
		||||
@@ -17,6 +17,16 @@ msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y handbrake-cli
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Tdarr"
 | 
			
		||||
mkdir -p /opt/tdarr
 | 
			
		||||
cd /opt/tdarr
 | 
			
		||||
RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1)
 | 
			
		||||
curl -fsSL "$RELEASE" -o Tdarr_Updater.zip
 | 
			
		||||
$STD unzip Tdarr_Updater.zip
 | 
			
		||||
chmod +x Tdarr_Updater
 | 
			
		||||
$STD ./Tdarr_Updater
 | 
			
		||||
msg_ok "Installed Tdarr"
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
@@ -25,29 +35,14 @@ if [[ "$CTTYPE" == "0" ]]; then
 | 
			
		||||
  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 Tdarr"
 | 
			
		||||
mkdir -p /opt/tdarr
 | 
			
		||||
cd /opt/tdarr
 | 
			
		||||
RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1)
 | 
			
		||||
curl -fsSL "$RELEASE" -o $(basename "$RELEASE")
 | 
			
		||||
$STD unzip Tdarr_Updater.zip
 | 
			
		||||
rm -rf Tdarr_Updater.zip
 | 
			
		||||
chmod +x Tdarr_Updater
 | 
			
		||||
./Tdarr_Updater &>/dev/null
 | 
			
		||||
if [[ "$CTTYPE" == "0" ]]; then
 | 
			
		||||
  sed -i -e 's/^sgx:x:104:$/render:x:104:root/' -e 's/^render:x:106:root$/sgx:x:106:/' /etc/group
 | 
			
		||||
else
 | 
			
		||||
  sed -i -e 's/^sgx:x:104:$/render:x:104:/' -e 's/^render:x:106:$/sgx:x:106:/' /etc/group
 | 
			
		||||
fi
 | 
			
		||||
msg_ok "Set Up Hardware Acceleration"
 | 
			
		||||
 | 
			
		||||
msg_ok "Installed Tdarr"
 | 
			
		||||
 | 
			
		||||
msg_info "Creating Service"
 | 
			
		||||
service_path="/etc/systemd/system/tdarr-server.service"
 | 
			
		||||
echo "[Unit]
 | 
			
		||||
cat <<EOF >/etc/systemd/system/tdarr-server.service
 | 
			
		||||
[Unit]
 | 
			
		||||
Description=Tdarr Server Daemon
 | 
			
		||||
After=network.target
 | 
			
		||||
# Enable if using ZFS, edit and enable if other FS mounting is required to access directory
 | 
			
		||||
@@ -56,7 +51,6 @@ After=network.target
 | 
			
		||||
[Service]
 | 
			
		||||
User=root
 | 
			
		||||
Group=root
 | 
			
		||||
 | 
			
		||||
Type=simple
 | 
			
		||||
WorkingDirectory=/opt/tdarr/Tdarr_Server
 | 
			
		||||
ExecStartPre=/opt/tdarr/Tdarr_Updater
 | 
			
		||||
@@ -66,10 +60,11 @@ KillMode=process
 | 
			
		||||
Restart=on-failure
 | 
			
		||||
 | 
			
		||||
[Install]
 | 
			
		||||
WantedBy=multi-user.target" >$service_path
 | 
			
		||||
WantedBy=multi-user.target
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
service_path="/etc/systemd/system/tdarr-node.service"
 | 
			
		||||
echo "[Unit]
 | 
			
		||||
cat <<EOF >/etc/systemd/system/tdarr-node.service
 | 
			
		||||
[Unit]
 | 
			
		||||
Description=Tdarr Node Daemon
 | 
			
		||||
After=network.target
 | 
			
		||||
Requires=tdarr-server.service
 | 
			
		||||
@@ -77,7 +72,6 @@ Requires=tdarr-server.service
 | 
			
		||||
[Service]
 | 
			
		||||
User=root
 | 
			
		||||
Group=root
 | 
			
		||||
 | 
			
		||||
Type=simple
 | 
			
		||||
WorkingDirectory=/opt/tdarr/Tdarr_Node
 | 
			
		||||
ExecStart=/opt/tdarr/Tdarr_Node/Tdarr_Node
 | 
			
		||||
@@ -86,16 +80,16 @@ KillMode=process
 | 
			
		||||
Restart=on-failure
 | 
			
		||||
 | 
			
		||||
[Install]
 | 
			
		||||
WantedBy=multi-user.target" >$service_path
 | 
			
		||||
systemctl enable --now -q tdarr-server.service
 | 
			
		||||
systemctl enable --now -q tdarr-node.service
 | 
			
		||||
WantedBy=multi-user.target
 | 
			
		||||
EOF
 | 
			
		||||
systemctl enable --now -q tdarr-server tdarr-node
 | 
			
		||||
msg_ok "Created Service"
 | 
			
		||||
 | 
			
		||||
motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -rf Tdarr_Updater.zip
 | 
			
		||||
rm -rf /opt/tdarr/Tdarr_Updater.zip
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user