diff --git a/arch_install.sh b/arch_install.sh new file mode 100644 index 0000000..a9cae06 --- /dev/null +++ b/arch_install.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash + +set -e + +echo "========================================" +echo "[INFO] Installing Jellyfin (Arch Linux)" +echo "========================================" + +# Update system +sudo pacman -Syu --noconfirm + +# Install Jellyfin + dependencies +sudo pacman -S --noconfirm jellyfin ffmpeg + +echo "========================================" +echo "[INFO] Creating directories" +echo "========================================" + +# Create media directories +sudo mkdir -p /srv/jellyfin/{config,cache,media} +sudo mkdir -p /srv/jellyfin/media/{movies,tv,music} + +# Set ownership +sudo chown -R jellyfin:jellyfin /srv/jellyfin + +echo "========================================" +echo "[INFO] Configuring Jellyfin directories" +echo "========================================" + +# Override default paths with systemd drop-in +sudo mkdir -p /etc/systemd/system/jellyfin.service.d + +sudo tee /etc/systemd/system/jellyfin.service.d/override.conf > /dev/null </dev/null 2>&1; then + sudo ufw allow 8096/tcp + sudo ufw allow 8920/tcp + sudo ufw reload +fi + +echo "========================================" +echo "[SUCCESS] Jellyfin is installed!" +echo "========================================" + +IP=$(hostname -I | awk '{print $1}') + +echo "Access Jellyfin at:" +echo " http://$IP:8096" +echo "" +echo "Default directories:" +echo " Config: /srv/jellyfin/config" +echo " Media: /srv/jellyfin/media" \ No newline at end of file