nas-doctor

nas-doctor

Docker-Anwendung from mcdays94's Repository

Übersicht

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

Laufzeit-Argumente

Web-UI
http://[IP]:[PORT:8060]
Netzwerk
host
Privilegiert
true
Extra Params
--pid=host

Konfiguration der Vorlage

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.

Ziel
NAS_DOCTOR_LISTEN
Standard
:8060
Wert
:8060
Data DirectoryPathrw

Persistent data (SQLite database, config, backups)

Ziel
/data
Standard
/mnt/user/appdata/nas-doctor
Wert
/mnt/user/appdata/nas-doctor
Docker SocketPathro

Docker socket for container monitoring

Ziel
/var/run/docker.sock
Standard
/var/run/docker.sock
Wert
/var/run/docker.sock
Emhttp StatusPathro

Unraid emhttp status (required for merged drive view)

Ziel
/var/local/emhttp
Standard
/var/local/emhttp
Wert
/var/local/emhttp
Device NodesPathro

Device nodes (required for SMART and GPU access)

Ziel
/dev
Standard
/dev
Wert
/dev
SysfsPathro

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

Ziel
/sys
Standard
/sys
Wert
/sys
Boot ConfigPathro

Unraid boot config (parity logs, ident)

Ziel
/host/boot
Standard
/boot
Wert
/boot
System LogsPathro

System log files (syslog, messages)

Ziel
/host/log
Standard
/var/log
Wert
/var/log
Unraid VersionPathro

Unraid version file (for OS update detection)

Ziel
/etc/unraid-version
Standard
/etc/unraid-version
Wert
/etc/unraid-version
Host MountsPathro

Host disk mounts (for per-disk space monitoring)

Ziel
/host/mnt
Standard
/mnt
Wert
/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.

Ziel
/var/run/tailscale
Standard
/var/run/tailscale
Wert
/var/run/tailscale
Scan IntervalVariable

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

Ziel
NAS_DOCTOR_INTERVAL
Standard
30m
Wert
30m
TimezoneVariable

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

Ziel
TZ
Standard
UTC
Wert
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.

Ziel
/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.

Ziel
BORG_PASSPHRASE

Einzelheiten

Repository
ghcr.io/mcdays94/nas-doctor:latest
Zuletzt aktualisiert2026-06-01
Erstmals gesehen2026-04-18

Führen Sie nas-doctor auf Unraid aus.

nas-doctor ist gelistet in Community Apps für Unraid OS. Erkunden Sie Unraid, um einen flexiblen Heimserver, ein NAS oder ein Heimlabor aufzubauen.