nas-doctor

nas-doctor

Docker 应用程序 from mcdays94's Repository

概述

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

运行时参数

网络用户界面
http://[IP]:[PORT:8060]
网络
host
特权
true
额外参数
--pid=host

模板配置

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.

目标
NAS_DOCTOR_LISTEN
默认值
:8060
价值
:8060
Data DirectoryPathrw

Persistent data (SQLite database, config, backups)

目标
/data
默认值
/mnt/user/appdata/nas-doctor
价值
/mnt/user/appdata/nas-doctor
Docker SocketPathro

Docker socket for container monitoring

目标
/var/run/docker.sock
默认值
/var/run/docker.sock
价值
/var/run/docker.sock
Emhttp StatusPathro

Unraid emhttp status (required for merged drive view)

目标
/var/local/emhttp
默认值
/var/local/emhttp
价值
/var/local/emhttp
Device NodesPathro

Device nodes (required for SMART and GPU access)

目标
/dev
默认值
/dev
价值
/dev
SysfsPathro

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

目标
/sys
默认值
/sys
价值
/sys
Boot ConfigPathro

Unraid boot config (parity logs, ident)

目标
/host/boot
默认值
/boot
价值
/boot
System LogsPathro

System log files (syslog, messages)

目标
/host/log
默认值
/var/log
价值
/var/log
Unraid VersionPathro

Unraid version file (for OS update detection)

目标
/etc/unraid-version
默认值
/etc/unraid-version
价值
/etc/unraid-version
Host MountsPathro

Host disk mounts (for per-disk space monitoring)

目标
/host/mnt
默认值
/mnt
价值
/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.

目标
/var/run/tailscale
默认值
/var/run/tailscale
价值
/var/run/tailscale
Scan IntervalVariable

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

目标
NAS_DOCTOR_INTERVAL
默认值
30m
价值
30m
TimezoneVariable

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

目标
TZ
默认值
UTC
价值
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.

目标
/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.

目标
BORG_PASSPHRASE

详细信息

存储库
ghcr.io/mcdays94/nas-doctor:latest
最后更新2026-05-31
初见2026-04-18

在Unraid 上运行 nas-doctor 。

nas-doctor 已被列入Unraid OS 的社区应用程序。探索Unraid ,构建灵活的家庭服务器、NAS 或家庭实验室。