Der Hub
Der Hub ist das Programm pbx-hub auf einem Server in deinem Hetzner-Projekt. Er hält den Sollzustand deiner Hosts und Twins in einer SQLite-Datei und spricht mit deinen Tokens mit der Hetzner-API.
Was pbx up anlegt
Abschnitt betitelt „Was pbx up anlegt“Alles trägt die Labels pbx-managed=true und pbx-hub=<name>.
| Ressource | Was es ist |
|---|---|
| Server | der Server des Hubs, standardmäßig 1 vCPU und 1 GB (cpx02; --server-type nimmt einen größeren) |
| Image | ein Snapshot des Podman-Images von PaaSbox, auch für deine Hosts |
| Netz | ein privates Netz, 10.80.0.0/16; Hosts erreichen den Hub über seine private Adresse |
| Firewall | UDP 51820 für WireGuard; TCP 22 nur von deiner Adresse und nur, solange pbx up oder pbx upgrade läuft |
| Primäre IPv4 | bleibt, wenn der Server ersetzt wird, damit Hosts und Twins den Hub nach einer Wiederherstellung wiederfinden |
pbx up zeigt diese Liste und fragt, bevor es etwas anlegt. Ein Schritt, der seine Ressource findet, übernimmt sie; so macht ein unterbrochener Lauf weiter.
Wie der Hub erreicht wird
Abschnitt betitelt „Wie der Hub erreicht wird“| Wer | Über | Nachweis |
|---|---|---|
Deine Geräte (pbx, das Portal, die API) | nur einen WireGuard-Tunnel; davon lauscht nichts auf einer öffentlichen Adresse | jede Anfrage ist von einem gekoppelten Gerät signiert |
| Die Agenten der Hosts | das private Netz | jede Anfrage ist mit dem Schlüssel des Agenten signiert |
| Die Agenten der Twins | die öffentliche Adresse des Hubs, in der Firewall nur für jeden laufenden Twin geöffnet | dieselben Signaturen |
| PaaSbox | nur ausgehend: die Lizenzprüfung und signierte Releases | der Lizenzschlüssel |
Der Tunnel läuft im Prozess von pbx; es gibt keinen stehenden Tunnel und keinen Daemon. Solange pbx open läuft, teilt es seinen Tunnel mit den anderen pbx-Befehlen, die du auf diesem Rechner für denselben Hub ausführst, damit ein zweiter Befehl dem offenen Portal die Sitzung nicht wegnimmt. Jeder Befehl signiert seine Anfragen weiter selbst. pbx status zeigt, ob ein pbx open die Verbindung hält. Nicht unter Windows; PBX_LINK_SHARE=off schaltet es für einen Lauf ab.
Was er speichert
Abschnitt betitelt „Was er speichert“Die SQLite-Datei hält deine Hosts, Twins, Geräte, Schlüssel, Freigaben und das Audit-Log. Deine Hetzner-Tokens und andere Geheimnisse sind mit den Datenschlüsseln des Hubs verschlüsselt. Der Offline-Wiederherstellungsschlüssel, den pbx up einmal zeigt, ist der Weg zurück zu ihnen, wenn der Server des Hubs verloren geht.
Backup und Wiederherstellung
Abschnitt betitelt „Backup und Wiederherstellung“Der Hub repliziert seine Datenbank laufend in deinen S3-Bucket (Litestream). Geht der Server verloren, stellt ein neuer Server sie mit dem Wiederherstellungsschlüssel aus dem Bucket wieder her; die Hosts machen weiter, ohne sich neu anzumelden.
Im Labor gemessen am 20. Oktober 2026, mit dem Hub auf einem 1-GB-Server, 3 Hosts und einem Twin: keine Daten verloren, Wiederherstellung und Start in 4,3 Sekunden, die Hosts 112 Sekunden nach Beginn der Wiederherstellung wieder da. Der Hub brauchte im Median 66 MB Speicher und höchstens 126 MB.
Aktualisieren und entfernen
Abschnitt betitelt „Aktualisieren und entfernen“pbx upgradebringt den Hub auf ein neueres Release. Port 22 öffnet für den Lauf für deine Adresse und schließt danach.pbx downentfernt den Hub und waspbx upangelegt hat. Es lehnt ab, solange der Hub noch einen Host verwaltet, deaktiviert die Lizenz und lässt dich den Namen des Hubs eintippen.