# 🧩 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](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: ```bash 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 ➜ 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](https://asciinema.techniverse.net/a/68.svg)](https://asciinema.techniverse.net/a/68) --- ## ⏰ 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: ```bash crontab -e ``` Und füge diese Zeile hinzu: ```bash */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](https://matrix.to/#/#community:techniverse.net) Wir freuen uns auf deinen Besuch und helfen dir gerne weiter!

License License | Matrix Matrix | Matrix Mastodon