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 searchIl 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
| File | Ruolo |
|---|---|
config.json | Impostazioni, connessioni, macchine, host e azioni |
services.json | Categorie e servizi |
topology.json | Nodi, gruppi e connessioni |
calendar.json | Eventi locali |
custom_tabs.json | Schede e layout precedenti |
users.json | Account, hash, ruoli e versioni di sessione |
jwt.secret | Chiave persistente di firma senza opzione d’ambiente |
encryption.key | Chiave persistente di cifratura senza opzione d’ambiente |
logos/ | Loghi caricati |
pages.json | Pagine componibili, layout e preferenze mobili |
metrics-history.json | Cronologia 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/datain 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.