nas-doctor

nas-doctor

Aplicación Docker from mcdays94's Repository

Visión general

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

Argumentos en tiempo de ejecución

Interfaz web
http://[IP]:[PORT:8060]
Red
host
Privilegiado
true
Parámetros adicionales
--pid=host

Configuración de plantillas

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.

Objetivo
NAS_DOCTOR_LISTEN
Por defecto
:8060
Valor
:8060
Data DirectoryPathrw

Persistent data (SQLite database, config, backups)

Objetivo
/data
Por defecto
/mnt/user/appdata/nas-doctor
Valor
/mnt/user/appdata/nas-doctor
Docker SocketPathro

Docker socket for container monitoring

Objetivo
/var/run/docker.sock
Por defecto
/var/run/docker.sock
Valor
/var/run/docker.sock
Emhttp StatusPathro

Unraid emhttp status (required for merged drive view)

Objetivo
/var/local/emhttp
Por defecto
/var/local/emhttp
Valor
/var/local/emhttp
Device NodesPathro

Device nodes (required for SMART and GPU access)

Objetivo
/dev
Por defecto
/dev
Valor
/dev
SysfsPathro

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

Objetivo
/sys
Por defecto
/sys
Valor
/sys
Boot ConfigPathro

Unraid boot config (parity logs, ident)

Objetivo
/host/boot
Por defecto
/boot
Valor
/boot
System LogsPathro

System log files (syslog, messages)

Objetivo
/host/log
Por defecto
/var/log
Valor
/var/log
Unraid VersionPathro

Unraid version file (for OS update detection)

Objetivo
/etc/unraid-version
Por defecto
/etc/unraid-version
Valor
/etc/unraid-version
Host MountsPathro

Host disk mounts (for per-disk space monitoring)

Objetivo
/host/mnt
Por defecto
/mnt
Valor
/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.

Objetivo
/var/run/tailscale
Por defecto
/var/run/tailscale
Valor
/var/run/tailscale
Scan IntervalVariable

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

Objetivo
NAS_DOCTOR_INTERVAL
Por defecto
30m
Valor
30m
TimezoneVariable

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

Objetivo
TZ
Por defecto
UTC
Valor
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.

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

Objetivo
BORG_PASSPHRASE

Detalles

Repositorio
ghcr.io/mcdays94/nas-doctor:latest
Última actualización2026-05-31
Visto por primera vez2026-04-18

Ejecute nas-doctor en Unraid.

nas-doctor se encuentra en Community Apps para Unraid OS. Explore Unraid para crear un servidor doméstico flexible, un NAS o un laboratorio doméstico.