Baut SNMP zur generellen Geraete-Auskunft aus und macht Zugangsdaten pro Geraet
hinterlegbar, damit der Satellit tiefer lesen kann.
Satellit:
- Verschluesselter Credential-Store (Fernet) pro IP im Bind-Volume ./data:
SNMP (community/v2c oder v3 user/auth/priv), HTTP-Basic, FritzBox-Login.
Neue Messages sat_creds_set/list/delete + *_result; Secrets werden NIE
zurueckgeliefert (list gibt nur Typen). snmp.*/http/fritzbox nutzen die
Creds automatisch (params haben Vorrang).
- snmp.ports: ifTable -> aktive/freie Ports, Linkspeed ('sind noch Ports frei').
- snmp.info: sysName/Descr + Entity-MIB Modell/Serial/Firmware (installierte
Version; Update-Check ist Hersteller-Sache, kein SNMP).
- fritzbox.info/hosts: TR-064 (SOAP+Digest) — Verbindung/Datenrate/externe IP
bzw. verbundene Geraete. Bewusst als Reader, weil TR-064 fuer on-the-fly
http.post zu fummelig ist.
- CONTROL_ALLOWLIST-Default + .env.example erweitert; data/ ge-gitignore-t.
RVS: sat_creds_* in ALLOWED_TYPES (sonst verworfen).
Diagnostic: pro entdecktem Geraet ein Schluessel-Button -> Modal (SNMP v2c/v3,
HTTP-Basic, FritzBox); Speichern/Loeschen via RVS an den Satelliten; gesetzte
Typen werden pro Geraet angezeigt (🔑 ✓). Server relayed die Cred-Messages.
Brain: satellite_command-Tool um snmp.ports/info + fritzbox.* erweitert; ARIA
muss keine Passwoerter mitgeben (Satellit nutzt den Store).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 lines
1.1 KiB
YAML
27 lines
1.1 KiB
YAML
# ARIA Satellit — eigenstaendiger Stack fuer ein fremdes Netz (Buero, Werkstatt …).
|
|
#
|
|
# Deploy:
|
|
# cd satellite
|
|
# cp .env.example .env # RVS-Zugang + SATELLITE_LOCATION eintragen
|
|
# docker compose up -d --build
|
|
#
|
|
# WICHTIG: network_mode: host — der Satellit MUSS im Host-Netz laufen, sonst
|
|
# sieht er die mDNS/SSDP-Broadcasts + Geraete-IPs des LAN nicht (Docker-Bridge
|
|
# wuerde das isolieren). Damit ist er zugleich als RVS-Client raus ins Internet
|
|
# verbunden. Keine Ports zu veroeffentlichen — er ist reiner Client.
|
|
#
|
|
# ⚠ NUR auf LINUX Docker Engine, und der Host muss physisch im Ziel-LAN haengen!
|
|
# Docker Desktop (Mac/Windows) gibt hier NUR das Docker-VM-Netz (192.168.65.x /
|
|
# 172.x), NICHT dein echtes LAN → Discovery findet dann nur Docker-Container.
|
|
# Fuer Mac/Windows: satellite.py nativ starten (siehe README, Weg B).
|
|
services:
|
|
satellite:
|
|
build: .
|
|
container_name: aria-satellite
|
|
network_mode: host
|
|
env_file: .env
|
|
restart: unless-stopped
|
|
volumes:
|
|
# Persistenter Credential-Store (verschluesselt) + Schluesseldatei.
|
|
- ./data:/data
|