ProxDash Cloud

Dein Proxmox-Homelab in einer Android-App – auch unterwegs, ohne VPN und ohne offene Ports. Nur lesend. Ende-zu-Ende verschlüsselt.

Read-onlyAES-256-GCM, Schlüssel bleibt bei dirNur ausgehende VerbindungenLöschen per KnopfEinladung erforderlich

So funktioniert es

1 · Agent bei dirEin kleiner Docker-Container in deinem Netz liest Proxmox mit einem Token, das nur Audit-Rechte hat. Optional PBS und Prometheus.
2 · RelayDer Agent verschlüsselt jeden Snapshot und legt ihn beim Relay ab. Das Relay speichert nur Chiffrat, Zeitstempel und Größe. Es gibt keinen Weg vom Relay zurück in dein Homelab.
3 · AppProxDash holt die Snapshots und entschlüsselt sie auf dem Handy. Der Schlüssel wird beim Koppeln per QR-Code übergeben und verlässt nie Agent und App.

Was die App zeigt

Starten, Stoppen und andere Aktionen gibt es über die Cloud-Quelle bewusst nicht. Dafür bleibt der lokale Modus der App (im eigenen Netz oder per VPN).

Installation

1. Read-only-Token in Proxmox anlegen

Auf dem Proxmox-Host als root. Die Rolle enthält ausschließlich Lese-Rechte.

pveum role add ProxDashRO -privs "VM.Audit Sys.Audit Datastore.Audit"
pveum user add proxdash-ro@pve
pveum acl modify / -user proxdash-ro@pve -role ProxDashRO
pveum user token add proxdash-ro@pve agent --privsep 0

Die letzte Zeile gibt das Token-Secret einmalig aus – notieren.

2. Agent starten

Auf einem beliebigen Docker-Host in deinem Netz (Raspberry Pi reicht). Verzeichnis anlegen, drei Dateien hinein, starten.

# docker-compose.yml
services:
  proxdash-agent:
    image: proxdash-agent:latest
    build: .
    container_name: proxdash-agent
    restart: unless-stopped
    env_file: .env
    volumes:
      - ./data:/data
    ports:
      - "8091:8091"     # Kopplungsseite, nur im LAN öffnen
    mem_limit: 256m
# .env
RELAY_URL=https://relay.sanden-hosting.org
INVITE_CODE=<dein Einladungscode>
LABEL=Mein Homelab
PVE_URL=https://192.168.1.13:8006
PVE_TOKEN_ID=proxdash-ro@pve!agent
PVE_TOKEN_SECRET=<Secret aus Schritt 1>
PVE_VERIFY_TLS=false
# optional
PBS_URL=
PBS_TOKEN_ID=
PBS_TOKEN_SECRET=
PBS_DATASTORE=
PROM_URL=
PROM_NODE_JOB=node
INTERVAL=30
HISTORY_INTERVAL=300
RETENTION_DAYS=30

Dockerfile und agent.py gibt es mit dem Einladungscode. Dann:

docker compose up -d --build
docker logs -f proxdash-agent

Der Agent braucht nur ausgehendes HTTPS zum Relay. Es müssen keine Ports nach außen geöffnet werden. Beim ersten Start registriert er sich mit dem Einladungscode und erzeugt seinen Schlüssel lokal in data/identity.json.

3. App koppeln

  1. Im gleichen Netz auf dem Handy http://<Agent-IP>:8091 öffnen.
  2. „Kopplungscode erzeugen" drücken, dann „In ProxDash öffnen" – oder den QR-Code mit einem anderen Gerät scannen.
  3. In der App bestätigen. Fertig. Unter „Mehr → Quelle" kannst du zwischen lokal und Cloud wechseln.

Jede Kopplung erzeugt einen eigenen App-Zugang, den du auf der Agent-Seite einzeln widerrufen kannst.

Datenschutz

Was das Relay speichert: pro Homelab den jeweils letzten verschlüsselten Snapshot je Datenart (max. 512 KB) und verschlüsselte Verlaufspunkte (max. 8 MB, standardmäßig 30 Tage). Dazu die Metadaten Tenant-ID, Zeitstempel, Größe, Agent-Version und das von dir vergebene Label.

Was das Relay nicht sehen kann: Inhalte. Alle Nutzdaten sind mit AES-256-GCM verschlüsselt. Der Schlüssel wird vom Agent erzeugt und nur per QR-Code an die App übergeben. Das Relay hat ihn nie.

Was das Relay nicht kann: irgendetwas in deinem Homelab auslösen. Es gibt keinen Kommando-Pfad, und das Proxmox-Token des Agents hat nur Lese-Rechte.

Löschen: Auf der Agent-Seite „Alles löschen" entfernt sämtliche Daten und Zugänge deines Homelabs vom Relay sofort. Danach kannst du den Agent mit neuer Identität weiterbetreiben oder ihn einfach abschalten.

Protokolle: Der Webserver vor dem Relay schreibt kein Zugriffsprotokoll.

Einladungscode

ProxDash Cloud ist im Testbetrieb. Einladungscode, Agent-Dateien und die App gibt es auf Anfrage über sanden-hosting.org. Sicherheitshinweise bitte auf demselben Weg.