Conoscere NasDash

Architettura e dati

Comprendere container, route API e file da proteggere.

Panoramica

Browser
   | HTTPS or private HTTP
   v
Optional reverse proxy
   |
   v
NasDash / Next.js :2504
   +-- /app/data                         persistent store
   +-- Glances / Netdata / Beszel / Prometheus / Proxmox / LHM
   +-- Tailscale / Headscale
   +-- Docker / Portainer / Dockhand connections
   +-- docker-socket-proxy :2375         restricted Docker API
          +-- /var/run/docker.sock:ro

Browser --> Open-Meteo                  weather and location search

Il montaggio :ro del socket impedisce al proxy di modificare il file del socket stesso. Le operazioni consentite rimangono determinate dalle variabili del proxy (POST, DELETE, ecc.).

File persistenti

FileRuolo
config.jsonImpostazioni, connessioni, macchine, host e azioni
services.jsonCategorie e servizi
topology.jsonNodi, gruppi e connessioni
calendar.jsonEventi locali
custom_tabs.jsonSchede e layout precedenti
users.jsonAccount, hash, ruoli e versioni di sessione
jwt.secretChiave persistente di firma senza opzione d’ambiente
encryption.keyChiave persistente di cifratura senza opzione d’ambiente
logos/Loghi caricati
pages.jsonPagine componibili, layout e preferenze mobili
metrics-history.jsonCronologia persistente delle metriche
backups/Archivi locali; scaricare copie fuori dall’host

Vincoli operativi

  • Utilizza una singola istanza di NasDash per data store.
  • Non montare /app/data in sola lettura nella normale produzione.
  • Esegui il backup dell'intera cartella o volume, incluse le chiavi.
  • Non inserire mai il contenuto effettivo di data/ in Git.
  • Una piattaforma serverless è adatta per demo stateless, non per istanze persistenti auto-ospitate.

Processo del container

L'immagine di produzione è compilata con Node.js 22 Alpine ed esegue l'applicazione con UID/GID 1001:1001. L'health check interroga http://127.0.0.1:2504/api/health.