Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions ix-dev/community/nas-doctor/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# NAS Doctor

[NAS Doctor](https://github.com/mcdays94/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, process CPU usage, network speed, ZFS pools, UPS power, tunnels, and more — then
surfaces findings 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 v1 and v2)
- GPU monitoring (NVIDIA, Intel, AMD)
- Network speed test scheduling (Ookla CLI)
- Service checks (HTTP, TCP, DNS, Ping/ICMP, SMB, NFS, Speed)
- ZFS pool health, UPS/power monitoring
- Webhook alerts (Discord, Slack, Gotify, Ntfy)
- Prometheus metrics endpoint
- Multi-server fleet monitoring

## Notes

- Requires privileged access (`SYS_RAWIO` capability) for SMART health monitoring
- Host PID namespace sharing is enabled so Top Processes can see all host processes
and match them to Docker containers via cgroup data
- `/dev` and `/sys` are mounted read-only for device access and GPU telemetry
52 changes: 52 additions & 0 deletions ix-dev/community/nas-doctor/app.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
annotations:
min_scale_version: 24.10.2.2
app_version: 0.9.0
capabilities:
- description: NAS Doctor requires privileged access for SMART disk health monitoring
via smartctl.
name: SYS_RAWIO
categories:
- monitoring
changelog_url: https://github.com/mcdays94/nas-doctor/releases
date_added: '2026-04-10'
description: Sleep tight knowing your server never does. NAS Doctor is a local diagnostic
and monitoring tool for your NAS — analyzing SMART data, disk usage, Docker containers,
GPU, process CPU, network speed, ZFS pools, UPS power, tunnels, and more.
home: https://github.com/mcdays94/nas-doctor
host_mounts:
- description: Docker socket for container monitoring
host_path: /var/run/docker.sock
- description: Device nodes for SMART and GPU access
host_path: /dev
- description: Sysfs for GPU telemetry and drive mapping
host_path: /sys
icon: https://raw.githubusercontent.com/mcdays94/nas-doctor/main/icons/icon3.png
keywords:
- monitoring
- diagnostics
- smart
- health
- nas
- dashboard
- zfs
- gpu
lib_version: 2.3.2
lib_version_hash: ''
maintainers:
- email: dev@truenas.com
name: truenas
url: https://www.truenas.com/
name: nas-doctor
run_as_context:
- description: NAS Doctor requires root access for SMART disk health monitoring via
smartctl.
gid: 0
group_name: root
uid: 0
user_name: root
screenshots: []
sources:
- https://github.com/mcdays94/nas-doctor
title: NAS Doctor
train: community
version: 1.0.0
8 changes: 8 additions & 0 deletions ix-dev/community/nas-doctor/ix_values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
images:
image:
repository: ghcr.io/mcdays94/nas-doctor
tag: "0.9.0"

consts:
nas_doctor_container_name: nas-doctor
perms_container_name: nas-doctor-perms
Loading