Tdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking (Windows, macOS, Linux & Docker)
2.72k
stars
89
forks
source link
Unraid VM Script for Ubuntu Upgrade from 22 to 23 with install of Drivers for Intel Arc A380 #965
Not really a bug or a feature request, but instead a shell script for unraid users to install intel arc a380 on a new ubuntu 22 VM with upgrade to ubuntu 22, includes install of tdarr with 2 separate nodes for the user.
Assumes the person is running a new install Ubuntu 22.04 Server and and logged in via SSH. May be of use but would recommend someone more experienced giving it the once over.
#!/bin/bash
# Set variable for media directory
media_directory=media # Modify this to your specific directory
# Update package lists and upgrade installed packages
sudo apt update && sudo apt upgrade -y
# Check if nano is installed and install if not
sudo apt install nano -y
# Modify SSH configuration
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
# Create mount point for media directory and mount it
sudo mkdir -p /mnt/$media_directory
sudo mount -t virtiofs $media_directory /mnt/$media_directory
# Modify fstab to auto-mount media directory on boot
echo "$media_directory /mnt/$media_directory virtiofs defaults 0 0" | sudo tee -a /etc/fstab > /dev/null
# Install unzip if not already installed
sudo apt install unzip -y
# Add Intel GPU repositories and install necessary packages
wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu jammy client" | sudo tee /etc/apt/sources.list.d/intel-gpu-jammy.list
sudo apt update
sudo apt install -y \
intel-opencl-icd intel-level-zero-gpu level-zero \
intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 \
libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \
libglapi-mesa libgles2-mesa-dev libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers \
mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vainfo hwinfo clinfo
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y \
udev mesa-va-drivers:i386 mesa-common-dev:i386 mesa-vulkan-drivers:i386 \
libd3dadapter9-mesa-dev:i386 libegl1-mesa:i386 libegl1-mesa-dev:i386 \
libgbm-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev:i386 \
libgles2-mesa:i386 libgles2-mesa-dev:i386 libosmesa6:i386 \
libosmesa6-dev:i386 libwayland-egl1-mesa:i386 libxatracker2:i386 \
libxatracker-dev:i386 mesa-vdpau-drivers:i386 libva-x11-2:i386
sudo apt install -y \
libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev level-zero-dev
# Install necessary multimedia tools
sudo apt install mkvtoolnix libtesseract-dev handbrake-cli ffmpeg -y
# Upgrade system and prepare for release upgrade
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt install update-manager-core -y
sudo sed -i 's/Prompt=lts/Prompt=normal/' /etc/update-manager/release-upgrades
sudo do-release-upgrade -y
# Set up Tdarr server and nodes
mkdir -p /home/$USER/Tdarr_Server/
cd /home/$USER/Tdarr_Server/
wget https://f000.backblazeb2.com/file/tdarrs/versions/2.17.01/linux_x64/Tdarr_Updater.zip
unzip /home/$USER/Tdarr_Server/Tdarr_Updater.zip
sudo ./Tdarr_Updater
mkdir -p /home/$USER/Tdarr_Node_One && mv /home/$USER/Tdarr_Server/Tdarr_Node /home/$USER/Tdarr_Server/configs /home/$USER/Tdarr_Node_One
mkdir -p /home/$USER/Tdarr_Node_Two && cp -r /home/$USER/Tdarr_Server/Tdarr_Node /home/$USER/Tdarr_Server/configs /home/$USER/Tdarr_Node_Two
# Create and configure systemd service files for Tdarr Server and Nodes
cat <<EOF | sudo tee /etc/systemd/system/Tdarr_Server.service > /dev/null
[Unit]
Description=Tdarr Server
After=network.target
[Service]
User=$USER
WorkingDirectory=/home/$USER/Tdarr_Server/
ExecStart=/home/$USER/Tdarr_Server/Tdarr_Updater
Restart=always
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF | sudo tee /etc/systemd/system/Tdarr_Node_One.service > /dev/null
[Unit]
Description=Tdarr Node One
After=network.target
[Service]
User=$USER
WorkingDirectory=/home/$USER/Tdarr_Node_One/
ExecStart=/home/$USER/Tdarr_Node_One/Tdarr_Node
Restart=always
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF | sudo tee /etc/systemd/system/Tdarr_Node_Two.service > /dev/null
[Unit]
Description=Tdarr Node Two
After=network.target
[Service]
User=$USER
WorkingDirectory=/home/$USER/Tdarr_Node_Two/
ExecStart=/home/$USER/Tdarr_Node_Two/Tdarr_Node
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# Reload systemd daemon
sudo systemctl daemon-reload
# Enable and start Tdarr services
sudo systemctl enable Tdarr_Server.service
sudo systemctl enable Tdarr_Node_One.service
sudo systemctl enable Tdarr_Node_Two.service
# Reboot the machine
sudo reboot
Not really a bug or a feature request, but instead a shell script for unraid users to install intel arc a380 on a new ubuntu 22 VM with upgrade to ubuntu 22, includes install of tdarr with 2 separate nodes for the user.
Assumes the person is running a new install Ubuntu 22.04 Server and and logged in via SSH. May be of use but would recommend someone more experienced giving it the once over.