====== Unifi ====== ===== Was ist das ===== UniFi ist ein professionelles Ökosystem für Netzwerkkomponenten (wie Access Points, Switches und Gateways) des Herstellers Ubiquiti. Die Besonderheit ist die zentrale Verwaltung: Anstatt jedes Gerät einzeln konfigurieren zu müssen, übernimmt der **UniFi Network Controller** (hier als Docker-Container realisiert) diese Aufgabe. Er dient zur: * Zentralen Konfiguration und Verwaltung aller UniFi-Geräte im Netzwerk. * Bereitstellung von Gäste-WLANs (mit Captive Portals). * Analyse des Netzwerkverkehrs (DPI - Deep Packet Inspection). * Verwaltung von Software-Updates für die Hardware. * Überwachung des Netzwerkstatus und der Performance. ===== Beispiel ===== services: unifi: image: docker.io/jacobalberty/unifi:v10.0.162 # Always pin specific version, never use 'latest' labels: - wud.tag.include=^v\d+\.\d+\.\d+$ # For What's Up Docker monitoring container_name: unifi hostname: unifi restart: unless-stopped init: true healthcheck: test: 'curl -k --fail -s http://localhost:8080/status | grep uuid|| exit 1' interval: 60s timeout: 10s retries: 3 start_period: 30s networks: - default # Use the main network volumes: - unifi_data:/unifi environment: TZ: ${TZ:-UTC} # Timezone ports: # UniFi Controller Ports - "${UNIFI_HTTPS_PORT:-8443}:8443" # Web admin interface (HTTPS) - "${UNIFI_HTTP_PORT:-8080}:8080" # HTTP redirect port - "${UNIFI_INFORM_PORT:-8080}:8080/udp" # Device inform port (UDP) - "${UNIFI_STUN_PORT:-3478}:3478/udp" # STUN port for remote access - "${UNIFI_AP_DISCOVERY:-10001}:10001/udp" # AP discovery port - "${UNIFI_SPEEDTEST:-6789}:6789" # Speed test port - "${UNIFI_SYSLOG:-5514}:5514/udp" # Remote syslog port (optional) volumes: unifi_data: ===== Erklärung ===== In diesem Docker-Setup werden die wichtigsten Ports für den Betrieb des Controllers gemappt: * **8443 (HTTPS):** Das Web-Interface für die Administration. * **8080 (HTTP/Inform):** Der Port, über den die UniFi-Geräte mit dem Controller kommunizieren (L3-Management). * **3478 (UDP):** Wird für STUN-Services benötigt, um z.B. WebRTC-Verbindungen zu ermöglichen. * **10001 (UDP):** Dient der automatischen Erkennung (Discovery) von Geräten im selben Layer-2-Netzwerk. Das Volume **unifi_data** sorgt dafür, dass die Konfiguration und die interne Datenbank (MongoDB) über Container-Neustarts und Updates hinweg erhalten bleiben. Durch die Verwendung von Variablen wie `${TZ}` lässt sich die Zeitzone flexibel anpassen. ===== Anpassung im Web-Frontend ===== Im UniFi dann das ''Host Inform Override'' setzen: UniFi Devices > Device Updates and Settings > Inform host override: {{:server:docker:andreas_homelab:unifi.png?400|}}