NasDash verstehen

Architektur und Daten

Verständnis von Containern, API-Routen und zu schützenden Dateien.

Übersicht

Navigateur
   │ HTTPS ou HTTP privé
   ▼
Reverse proxy facultatif
   │
   ▼
NasDash / Next.js :2504
   ├── /app/data                    configuration persistante
   ├── APIs Glances / Proxmox / LHM
   ├── API Tailscale
   └── docker-socket-proxy :2375   API Docker filtrée
          └── /var/run/docker.sock:ro

Das :ro-Mount des Sockets verhindert, dass der Proxy die Socket-Datei selbst modifiziert. Die erlaubten Operationen werden weiterhin durch die Proxy-Variablen (POST, DELETE usw.) bestimmt.

Persistente Dateien

DateiRolle
config.jsonEinstellungen, Geräte, Hosts und Docker-Aktionen
services.jsonKategorien und Dienste
topology.jsonKnoten, Gruppen und Verbindungen
calendar.jsonLokale Ereignisse
custom_tabs.jsonBenutzerdefinierte Tabs und Layouts
users.jsonKonten, Hashes, Rollen und Session-Versionen
jwt.secretSession- und Verschlüsselungskontinuität, falls kein Umgebungsgeheimnis bereitgestellt wird
encryption.keyPersistenter Schlüssel für verschlüsselte Zugangsdaten
logos/Vom Administrator hochgeladene Logos

Betriebliche Einschränkungen

  • Verwenden Sie eine einzelne NasDash-Instanz pro Datenstore.
  • Mounten Sie /app/data im normalen Produktivbetrieb nicht als schreibgeschützt.
  • Sichern Sie den gesamten Ordner oder das Volume, einschließlich der Schlüssel.
  • Legen Sie niemals den tatsächlichen Inhalt von data/ in Git ab.
  • Eine serverless-Plattform eignet sich für zustandslose Demos, nicht jedoch für persistente Self-Hosted-Instanzen.

Container-Prozess

Das Produktionsimage wird mit Node.js 22 Alpine erstellt und führt die Anwendung unter der UID/GID 1001:1001 aus. Der Health-Check fragt http://127.0.0.1:2504/api/health ab.