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