Jump to content

Hamradio/svxspot dashboard/de

From MediaWiki For Hamradio Analog/Digital and Debian v13 software/Raspberry PI v3/4/5 howto
This page is a translated version of the page Hamradio/svxspot dashboard and the translation is 93% complete.

Eine Einsteiger-Anleitung zum SvxSpot Dashboard: eine kleine Webseite, die du auf deinem SvxLink-Knoten installierst (einem Raspberry-Pi-Hotspot oder einem FM-Repeater), die zeigt, was der Knoten tut, und mit der du Talkgroup wechseln, die Konfiguration bearbeiten und mehr kannst — vom Handy oder PC aus. Ein .deb richtet den ganzen Web-Stack für dich ein.

💡 In einem Satz: installiere ein Paket auf deinem Knoten und du bekommst eine Webseite unter http://svxspot.local/, die Live-Status / zuletzt gehört / aktuelle Talkgroup zeigt und dir TG-Wechsel per Klick, ein DTMF-Tastenfeld und Editoren für svxlink.conf, EchoLink, HF und Audio bietet — plus WLAN-Einrichtung und Neustart-/Abschalt-Buttons.
Browser talks HTTP to nginx on the node, which runs php-fpm and the PHP dashboard; it reads svxlink.conf and the log, and writes TG/DTMF to the SvxLink control pipe. An optional MQTT agent lets an external portal switch TG too.

Brauche ich das?

  • Du betreibst einen SvxLink-Knoten — einen „SvxSpot“-Hotspot oder einen FM-Repeater — und willst ihn aus dem Browser sehen und steuern statt per SSH und Texteditor.
  • Er wird auf derselben Maschine wie SvxLink installiert (einem Raspberry Pi oder beliebigen Debian-Rechner).
  • Optionaler Extra: lass ein externes Portal deine Talkgroup per MQTT wechseln (praktisch für das Bedienpult eines Vereins). Standardmäßig aus — ein reines LAN-Dashboard braucht nichts davon.

Was du zuerst brauchst

💡 Das Dashboard steuert SvxLink — es ersetzt es nicht. SvxLink muss bereits installiert sein und auf dem Knoten laufen.
  • Ein SvxLink-Knoten, der unter Debian 12/13 oder Raspberry Pi OS (bookworm/trixie) läuft, auf einem Pi 3/4/5, Pi Zero 2 W oder beliebigen Debian-Rechner.
  • SvxLink installiert und laufend mit /etc/svxlink/svxlink.conf (Paket svxlink-server).
  • Für TG-/DTMF-Steuerung per Klick aus dem Web diese Zeile im Logic-Abschnitt deiner svxlink.conf:
DTMF_CTRL_PTY=/var/lib/svxlink/dtmf_svx
  • (Optional, nur MQTT) Broker-Host, Port (meist 8883) und ein Benutzername/Passwort — nur wenn du Fernsteuerung per Portal willst.

Du installierst nginx oder PHP nicht selbst — das Paket zieht sie und konfiguriert sie für dich.

Installation

Am einfachsten — das Einzeiler-Installationsskript (lädt das neueste Release und installiert es; apt holt nginx/PHP automatisch):

curl -fsSL https://git.sa7aux.se/bjorne/svxspot-dashboard/raw/branch/main/install.sh | sudo bash

Oder installiere ein .deb, das du herüberkopiert hast:

sudo apt install ./svxspot-dashboard_<version>_all.deb
💡 Nimm die Version, die die Release-Seite im Dateinamen zeigt (z. B. svxspot-dashboard_1.0.1_all.deb). Das Paket ist architektur-unabhängig (_all) — dieselbe Datei läuft auf einem Pi und auf x86-64.

Was das Installationsskript fragt

Eine normale Installation stellt ein paar Fragen (debconf). Sinnvolle Standardwerte werden vorgeschlagen — du kannst meist einfach Enter drücken:

Frage Was eingeben
Rufzeichen des Knotens Automatisch aus svxlink.conf erkannt. Übernimm es.
Admin-Benutzer des Dashboards Login-Name für die Steuerseiten. Standard admin.
Admin-Passwort Gib eines ein, oder lass es leer, damit ein zufälliges 16-Zeichen-Passwort erzeugt und am Ende einmal ausgegeben wird — schreib es auf.
MQTT-Fernsteuerung aktivieren? Standard nein. Sag nur ja, wenn ein Portal diesen Knoten steuern soll; dann werden Broker-Host / Benutzername / Passwort abgefragt.

Was es für dich einrichtet

Das Installationsskript erledigt die ganze Verkabelung (und kann gefahrlos mit sudo dpkg-reconfigure svxspot-dashboard erneut ausgeführt werden):

  • installiert und konfiguriert nginx (eine Site auf Port 80) und php-fpm;
  • legt das Admin-Login an (bcrypt htpasswd);
  • installiert eng begrenzte sudo-Regeln, damit der Web-Benutzer die Konfiguration speichern und SvxLink neu starten kann — und nichts sonst;
  • fügt den Web-Benutzer den Gruppen audio, tty, dialout, svxlink hinzu;
  • bereitet den optionalen MQTT-Agenten (einen systemd-Dienst) vor — aktiviert nur, wenn du MQTT eingeschaltet hast.

Am Ende gibt es einen Banner mit deiner Dashboard-URL, dem Admin-Benutzer und (falls erzeugt) dem Passwort aus.

Öffnen

  • Gehe in einem Browser im selben Netzwerk auf http://svxspot.local/ (oder http://<knoten-ip>/, falls der .local-Name nicht auflöst).
  • Die Statusseite braucht kein Login. Die Steuerseiten (TG, Konfig-Editor, Power, WLAN, …) fragen nach dem Admin-Benutzer/Passwort, das du gesetzt hast.
⚠ Wenn du das fertige SvxSpot-SD-Karten-Image geflasht hast, sind die Werks-Logins SSH svxspot / raspberry und Dashboard admin / svxspot. Ändere beide sofort (siehe unten).

Was auf dem Dashboard ist

Seite Was sie tut
Start / Status Live-Status, zuletzt gehörte Stationen, aktuelle Talkgroup, Schnellwahl-Tasten. (Kein Login.)
TG + DTMF-Tastenfeld Talkgroup per Tipp wechseln; rohes DTMF senden.
Konfig svxlink.conf im Browser bearbeiten mit Hilfetext; jedes Speichern macht ein zeitgestempeltes Backup und startet SvxLink neu.
EchoLink · HF (SA818) · Audio Editoren für EchoLink, Frequenz/Squelch des Funkmoduls und Audiopegel.
WLAN / Netzwerk Einem WLAN beitreten / Netzwerk einstellen.
Power Neu starten, herunterfahren oder SvxLink neu starten.
Fernsteuerung (MQTT) Den optionalen MQTT-Agenten ein-/ausschalten und den Broker einstellen.
Knoteninfo · Karte · Log Knoten-Metadaten, Karte und das SvxLink-Log.

Du musst das zur Nutzung nicht wissen, aber es hilft bei der Fehlersuche: das Dashboard liest /etc/svxlink/svxlink.conf und /var/log/svxlink, um den Status anzuzeigen, und steuert den Knoten, indem es DTMF-Strings (z. B. 91<tg># zum TG-Wechsel) in die Steuer-Pipe /var/lib/svxlink/dtmf_svx schreibt. Konfig-Änderungen werden gespeichert und SvxLink wird über die eng begrenzten sudo-Regeln neu gestartet. Das war's — keine Datenbank.

Optional: Fernsteuerung per MQTT

Wenn du MQTT aktiviert hast, baut ein kleiner systemd-Agent (svxnode-mqtt) eine ausgehende TLS-Verbindung zu deinem Broker auf Port 8883 auf (nichts im Router zu öffnen). Ein externes Portal veröffentlicht einen Talkgroup-Befehl, und der Agent schreibt dasselbe 91<tg># in die DTMF-Pipe — genau das, was der Web-TG-Button tut. Ein-/ausschalten auf der Fernsteuerung-Seite des Dashboards, oder mit sudo dpkg-reconfigure svxspot-dashboard.

Admin-Passwort ändern

No reconfigure needed — nginx re-reads the file on every request:

sudo htpasswd -B /etc/nginx/svxspot-dashboard.htpasswd admin

(Add -c to start a fresh file with only that user.)

Fehlerbehebung

Symptom Prüfen
Seite lädt nicht systemctl status nginx, sudo nginx -t und ls /etc/nginx/sites-enabled/ (sollte svxspot-dashboard listen). Weiter kaputt → sudo dpkg-reconfigure svxspot-dashboard.
502 Bad Gateway php-fpm ist aus → sudo systemctl restart php*-fpm (deine echte Version, z. B. php8.4-fpm).
Passwort abgelehnt sudo htpasswd -cB /etc/nginx/svxspot-dashboard.htpasswd admin (-c legt sie neu an).
Statusseite leer / kein Rufzeichen SvxLink läuft nicht oder hat keine Konfig → systemctl status svxlink, tail -n 30 /var/log/svxlink.
TG-Buttons tun nichts Prüfe grep DTMF_CTRL_PTY /etc/svxlink/svxlink.conf und dass /var/lib/svxlink/dtmf_svx existiert. Dann sudo dpkg-reconfigure svxspot-dashboard und php-fpm neu starten.
„Speichern“-Rechtefehler sudo visudo -cf /etc/sudoers.d/svxspot-dashboard muss „parsed OK“ sagen.
MQTT bleibt inaktiv journalctl -u svxnode-mqtt -n 30 --no-pager — meist falsches Passwort, falscher Host oder Port 8883 durch Firewall blockiert.
💡 Deine installierte PHP-Version ist nicht festgelegt — die Beispiele nutzen php8.4-fpm, aber dein Rechner kann php8.2-fpm fahren. Setze deine eigene ein: ls /run/php/php*-fpm.sock.

Entfernen / neu anfangen

  • Einstellungen behalten: sudo apt remove svxspot-dashboard.
  • Alles löschen (inkl. MQTT-Zugangsdaten): sudo apt purge svxspot-dashboard, dann neu installieren.

Siehe auch

  • Hamradio — SvxLink und der Rest der Digital-Voice-Anleitungen.
  • Autor: SA7AUX <bjorne@sa7aux.se>. GPL-3.0-or-later. Basiert auf SVXLink-Dashboard-V2 / Guru-RF.