56 lines
1.3 KiB
Bash
56 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ensure_root
|
|
detect_pkg_manager
|
|
pkg_install curl
|
|
|
|
BASE="/srv/docker/services/unifi"
|
|
$SUDO mkdir -p "$BASE/data"
|
|
$SUDO mkdir -p "$BASE/logs"
|
|
cd "$BASE"
|
|
|
|
echo "Starte Installation des UniFi Controllers..."
|
|
|
|
# docker-compose
|
|
$SUDO tee docker-compose.yml >/dev/null <<'EOF'
|
|
services:
|
|
unifi-controller:
|
|
image: linuxserver/unifi-controller:latest
|
|
container_name: unifi-controller
|
|
restart: unless-stopped
|
|
network_mode: host
|
|
environment:
|
|
PUID: 1000
|
|
PGID: 1000
|
|
TZ: Europe/Berlin
|
|
volumes:
|
|
- ./data:/config
|
|
- ./logs:/config/logs
|
|
EOF
|
|
|
|
$SUDO docker compose up -d
|
|
|
|
log "UniFi Controller wurde installiert."
|
|
log "Web UI (HTTPS): https://<server-ip>:8443"
|
|
log "Geräte-Erkennung funktioniert automatisch (host network mode)."
|
|
|
|
echo ""
|
|
read -p "Soll ein NGINX Proxy-Pfad eingerichtet werden? (y/n): " PROXY
|
|
|
|
if [[ "$PROXY" == "y" || "$PROXY" == "Y" ]]; then
|
|
PROXY_SCRIPT="/srv/docker/system/nginx-proxy-path/install.sh"
|
|
|
|
if [ ! -f "$PROXY_SCRIPT" ]; then
|
|
log "Fehler: nginx-proxy-path nicht installiert."
|
|
log "Bitte zuerst das Rezept 'nginx-proxy-path' installieren."
|
|
exit 0
|
|
fi
|
|
|
|
echo ""
|
|
echo "Hinweis: UniFi UI benötigt HTTPS Proxy!"
|
|
echo "Proxy-Ziel: <server-ip>:8443"
|
|
echo ""
|
|
bash "$PROXY_SCRIPT"
|
|
fi
|