nas-doctor

nas-doctor

Application Docker from mcdays94's Repository

Vue d'ensemble

NAS Doctor is a local diagnostic and monitoring tool for your NAS. It runs periodic health checks — analyzing SMART data, disk usage, Docker containers, GPU, network, kernel logs, temperatures, ZFS pools, UPS power, and Unraid parity — then presents findings in a beautiful web dashboard with actionable recommendations backed by Backblaze failure rate data.

Features:

  • 20+ diagnostic rules with automatic root-cause correlation
  • SMART health with Backblaze failure-rate thresholds (337k+ drives)
  • Top Processes with Docker container attribution (cgroup matching)
  • Historical trend sparklines (CPU, memory, I/O, drive temps)
  • Full stats page with trend charts and process CPU history
  • GPU monitoring (NVIDIA, Intel, AMD)
  • Speed test scheduling (Ookla CLI)
  • ZFS pool health (vdev tree, scrub/resilver, ARC stats)
  • UPS / power monitoring (NUT and apcupsd)
  • NAS OS update check (notifies when behind latest stable)
  • Parity check speed trend analysis (Unraid)
  • 2 dashboard themes (Midnight and Clean)
  • Export professional PDF diagnostic reports
  • Multi-server fleet monitoring (monitor all your NAS instances)
  • Prometheus /metrics endpoint (120+ gauges)
  • Webhook alerts: Discord, Slack, Gotify, Ntfy, generic HTTP
  • Automatic backups with configurable schedule and location
  • Data lifecycle management (retention policies, DB size cap)
  • Dashboard section visibility toggles and multi-column layout

Arguments d'exécution

Interface utilisateur Web
http://[IP]:[PORT:8060]
Réseau
host
Privilégié
true
Paramètres supplémentaires
--pid=host

Configuration du modèle

Web UI PortVariable

HTTP listen address (host networking). Change to e.g. :8067 to avoid port conflicts. If you type a bare number like 8067, it will be normalized to :8067 automatically. After changing, update the WebUI URL (container settings, Advanced View) to match.

Cible
NAS_DOCTOR_LISTEN
Défaut
:8060
Valeur
:8060
Data DirectoryPathrw

Persistent data (SQLite database, config, backups)

Cible
/data
Défaut
/mnt/user/appdata/nas-doctor
Valeur
/mnt/user/appdata/nas-doctor
Docker SocketPathro

Docker socket for container monitoring

Cible
/var/run/docker.sock
Défaut
/var/run/docker.sock
Valeur
/var/run/docker.sock
Emhttp StatusPathro

Unraid emhttp status (required for merged drive view)

Cible
/var/local/emhttp
Défaut
/var/local/emhttp
Valeur
/var/local/emhttp
Device NodesPathro

Device nodes (required for SMART and GPU access)

Cible
/dev
Défaut
/dev
Valeur
/dev
SysfsPathro

Sysfs (required for SMART, GPU, and drive mapping)

Cible
/sys
Défaut
/sys
Valeur
/sys
Boot ConfigPathro

Unraid boot config (parity logs, ident)

Cible
/host/boot
Défaut
/boot
Valeur
/boot
System LogsPathro

System log files (syslog, messages)

Cible
/host/log
Défaut
/var/log
Valeur
/var/log
Unraid VersionPathro

Unraid version file (for OS update detection)

Cible
/etc/unraid-version
Défaut
/etc/unraid-version
Valeur
/etc/unraid-version
Host MountsPathro

Host disk mounts (for per-disk space monitoring)

Cible
/host/mnt
Défaut
/mnt
Valeur
/mnt
Tailscale SocketPathro

Required ONLY for Tailscale peer detection (tailscale-nas-util plugin OR network_mode: host Tailscale Docker container). Leave unset if you don't use Tailscale.

Cible
/var/run/tailscale
Défaut
/var/run/tailscale
Valeur
/var/run/tailscale
Scan IntervalVariable

How often to run diagnostic scans (e.g. 30m, 1h, 6h, 24h)

Cible
NAS_DOCTOR_INTERVAL
Défaut
30m
Valeur
30m
TimezoneVariable

Container timezone (e.g. Europe/London, America/New_York)

Cible
TZ
Défaut
UTC
Valeur
UTC
Borg Repo Path (optional)Pathro

Optional bind-mount for External Borg Monitoring. Mount your host Borg repo path here as Read Only — NAS Doctor uses `borg --bypass-lock` so it never writes to the repo, making RO mounts safe. After adding the mount, configure the repo in Settings → Advanced → Backup Monitors → Borg. Leave blank if you don't use Borg or don't want to monitor external repos. No host binary mount needed — borg is bundled in the image.

Cible
/mnt/user/appdata/borg
Borg Passphrase (optional)Variable

Optional passphrase for an encrypted Borg repo configured in Settings → Advanced → Backup Monitors → Borg. NAS Doctor reads this env var by name (configurable per-repo if you have multiple passphrases). Leave blank if your repos are unencrypted or if you don't use external Borg monitoring.

Cible
BORG_PASSPHRASE

Détails

Référentiel
ghcr.io/mcdays94/nas-doctor:latest
Dernière mise à jour2026-05-31
Première vue2026-04-18

Exécutez nas-doctor sur Unraid.

nas-doctor est listé dans Community Apps pour Unraid OS. Explorez Unraid pour créer un serveur domestique flexible, un NAS ou un laboratoire domestique.