Benutzer-Werkzeuge

Webseiten-Werkzeuge


server:docker:andreas_homelab:unifi

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: <IP des Docker Host>

server/docker/andreas_homelab/unifi.txt · Zuletzt geändert: von neo