Comprendre NasDash
Architecture et données
Comprendre les conteneurs, les routes API et les fichiers à protéger.
Vue d'ensemble
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:roLe montage :ro de la socket empêche le proxy de modifier le fichier de socket lui-même. Les opérations autorisées restent déterminées par les variables du proxy (POST, DELETE, etc.).
Fichiers persistants
| Fichier | Rôle |
|---|---|
config.json | réglages, appareils, hôtes et actions Docker |
services.json | catégories et services |
topology.json | nœuds, groupes et connexions |
calendar.json | événements locaux |
custom_tabs.json | onglets et dispositions personnalisés |
users.json | comptes, hashes, rôles et versions de session |
jwt.secret | continuité des sessions et du chiffrement si aucun secret d'environnement n'est fourni |
encryption.key | clé persistante utilisée pour les identifiants chiffrés |
logos/ | logos envoyés par l'administrateur |
Contraintes d'exploitation
- Utilisez une seule instance NasDash sur un même magasin de données.
- Ne montez pas
/app/dataen lecture seule en production normale. - Sauvegardez le dossier ou le volume complet, clés comprises.
- Ne placez jamais le contenu réel de
data/dans Git. - Une plateforme serverless convient à la démo sans état, pas à l'instance auto-hébergée persistante.
Processus du conteneur
L'image de production est construite avec Node.js 22 Alpine et lance l'application sous l'UID/GID 1001:1001. Le healthcheck interroge http://127.0.0.1:2504/api/health.