Add arch_install.sh
This commit is contained in:
parent
0cd468f792
commit
ee9552ff16
|
|
@ -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 <<EOF
|
||||||
|
[Service]
|
||||||
|
Environment="JELLYFIN_DATA_DIR=/srv/jellyfin/config"
|
||||||
|
Environment="JELLYFIN_CACHE_DIR=/srv/jellyfin/cache"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo "========================================"
|
||||||
|
echo "[INFO] Enabling and starting Jellyfin"
|
||||||
|
echo "========================================"
|
||||||
|
|
||||||
|
sudo systemctl daemon-reexec
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl enable jellyfin
|
||||||
|
sudo systemctl start jellyfin
|
||||||
|
|
||||||
|
echo "========================================"
|
||||||
|
echo "[INFO] Configuring firewall (UFW if installed)"
|
||||||
|
echo "========================================"
|
||||||
|
|
||||||
|
if command -v ufw >/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"
|
||||||
Loading…
Reference in New Issue