🧩 LiveKit IP Watch
Ein einfaches Bash-Script, das bei dynamischen Internetanschlüssen (z. B. DSL) automatisch die öffentliche IP-Adresse ermittelt, in die LiveKit-config.yaml einträgt und anschließend den Dienst neu startet.
Nach dem Neustart prüft das Script per HTTP-Healthcheck, ob LiveKit wieder erreichbar ist.
Dieses Repository ist begleitend zu meinem Blogbeitrag, den du hier lesen kannst:
👉 https://www.cleveradmin.de/blog/2025/10/livekit-dynamische-ip-automatisieren
⚙️ Konfiguration
Öffne die Scriptdatei livekit-ip-watch.v1.sh und passe folgende Variablen an:
| Variable | Beschreibung |
|---|---|
CONFIG_FILE |
Pfad zur LiveKit-Konfigurationsdatei (config.yaml). |
RUNTIME |
Modus: "compose" für Docker Compose oder "docker" für Plain Docker. |
COMPOSE_FILE_PATH |
Vollständiger Pfad zur docker-compose.yaml, falls RUNTIME="compose". |
COMPOSE_SERVICE |
Name des LiveKit-Services in deiner Compose-Datei. |
CONTAINER_NAME |
Nur relevant, wenn RUNTIME="docker" – Name des Containers. |
ENABLE_IPV6 |
true für IPv6, false für IPv4. |
WAIT_AFTER_RESTART |
Wartezeit (Sekunden) vor dem Healthcheck. |
HEALTHCHECK_DOMAIN |
Nur den DNS angeben, z. B. rtc.matrix.techniverse.net. Das Script prüft automatisch /livekit/sfu/. |
HEALTHCHECK_TIMEOUT |
Timeout in Sekunden für den HTTP-Check. |
NTFY_URL / NTFY_TOKEN |
Optional für Benachrichtigungen via ntfy. |
📦 Voraussetzungen
- bash
- git
- yq (optional, aber empfohlen für saubere YAML-Bearbeitung)
🚀 Verwendung
Script herunterladen und starten:
git clone https://git.techniverse.net/scriptos/livekit-ip-watch.git
cd livekit-ip-watch
chmod +x livekit-ip-watch.v1.sh
bash livekit-ip-watch.v1.sh
Beispielausgabe:
➜ bash livekit-ip-watch.v1.sh
[2025-10-27 19:56:30] INFO: Neue IP erkannt: 152.53.118.246 (alt: none)
[2025-10-27 19:56:30] INFO: Backup erstellt: /home/scripts/livekit-ip-watch/backups/config.yaml.20251027195630.bak
[2025-10-27 19:56:30] WARN: yq nicht gefunden – Fallback-Editor wird verwendet.
[2025-10-27 19:56:30] INFO: Restart des Dienstes...
[+] Restarting 1/1
✔ Container matrix-element-call-livekit Started 46.8s
[2025-10-27 19:57:17] INFO: Warte 20 Sekunden...
[2025-10-27 19:57:37] INFO: Healthcheck OK.
⏰ Automatische Ausführung (Cronjob)
Damit die IP regelmäßig geprüft und aktualisiert wird, kannst du das Script z. B. alle 15 Minuten ausführen:
crontab -e
Und füge diese Zeile hinzu:
*/15 * * * * /home/scripts/livekit-ip-watch/livekit-ip-watch.v1.sh >> /var/log/livekit-ip-watch.log 2>&1
🧠 Hinweis
Das Script erstellt bei jeder Änderung ein Backup der config.yaml und führt bei einem Fehler automatisch ein Rollback durch.
Autor: Patrick Asmus
Repository: https://git.techniverse.net/scriptos/livekit-ip-watch.git
💬 Support & Community
Du hast Fragen, brauchst Unterstützung bei der Einrichtung oder möchtest dich einfach mit anderen austauschen, die ähnliche Projekte betreiben? Dann schau gerne in unserer Techniverse Community vorbei:
👉 Matrix-Raum: #community:techniverse.net
Wir freuen uns auf deinen Besuch und helfen dir gerne weiter!