2025-10-29 11:14:43 +01:00
2025-10-29 11:14:43 +01:00
2025-10-29 11:14:43 +01:00

🧩 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.

asciicast


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!

License License | Matrix Matrix | Matrix Mastodon

Description
No description provided
Readme MIT 59 KiB
Languages
Shell 100%