Repolode
AnalogJ

AnalogJ/scrutiny

A web dashboard for hard drive S.M.A.R.T health that wraps smartd/smartctl data, tracks history, and sends failure alerts.

Stars
8,407
Forks
311
Open issues
42
Last commit
2 days ago

What is it?

Scrutiny is a hard drive health dashboard built on top of smartctl. It collects S.M.A.R.T attributes from every detected drive, stores them over time so slow degradation becomes visible, and presents the critical metrics in a web UI, which suits headless servers that otherwise only offer command-line output.

Beyond showing manufacturer-provided values, Scrutiny applies its own thresholds based on real-world failure rates, so a drive can be flagged before the manufacturer's limits are reached. It also tracks temperature and can send notifications through a long list of services, including email, Slack, Telegram, Discord, ntfy and webhooks, when a SMART failure, collector error or missed upload occurs.

Scrutiny ships as an all-in-one Docker image, or as separate collector, web and InfluxDB containers in a hub/spoke layout. It can also be installed manually. Supported platforms include Linux on amd64 and arm64, macOS, and FreeBSD binaries.

Key features

  • 01Web dashboard focused on critical S.M.A.R.T metrics
  • 02Automatic detection of connected drives via smartctl --scan
  • 03Historical tracking of S.M.A.R.T attributes and temperature
  • 04Thresholds informed by real-world failure rates, not only manufacturer values
  • 05Notifications for failures, collector errors and missed uploads

Use cases

  • Monitoring drives in a home or small-business NAS or server
  • Spotting slowly degrading drives before data loss
  • Watching multiple servers from one dashboard in hub/spoke mode

Quick start

  1. 1

    Run the omnibus Docker image with device and capability flags

    docker run -p 8080:8080 -p 8086:8086 --restart unless-stopped -v `pwd`/scrutiny:/opt/scrutiny/config -v `pwd`/influxdb2:/opt/scrutiny/influxdb -v /run/udev:/run/udev:ro --cap-add SYS_RAWIO --device=/dev/sda --device=/dev/sdb --name scrutiny ghcr.io/analogj/scrutiny:latest-omnibus
  2. 2

    Open the dashboard in your browser at localhost:8080

  3. 3

    Trigger a collector run manually if the dashboard is empty

    docker exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run

Things to know

  • Requires smartctl access to drives, so it needs elevated capabilities or device passthrough in Docker.
  • Project describes itself as a work-in-progress with rough edges.
  • Windows Docker support is still work-in-progress.

In collections

Topics

FAQ

What is scrutiny?
A web dashboard for hard drive S.M.A.R.T health that wraps smartd/smartctl data, tracks history, and sends failure alerts. Scrutiny is a hard drive health dashboard built on top of smartctl. It collects S.M.A.R.T attributes from every detected drive, stores them over time so slow degradation becomes visible, and presents the critical metrics in a web UI, which suits headless servers that otherwise only offer command-line output.
Is scrutiny free to use? What license does it have?
scrutiny is open source under the MIT license. Check the license terms before using it in commercial products.
Is scrutiny still maintained?
Actively maintained. The last commit to scrutiny was on Nov 4, 2026.
What can I use scrutiny for?
Monitoring drives in a home or small-business NAS or server Spotting slowly degrading drives before data loss Watching multiple servers from one dashboard in hub/spoke mode
How do I install scrutiny?
Run the omnibus Docker image with device and capability flags: docker run -p 8080:8080 -p 8086:8086 --restart unless-stopped -v `pwd`/scrutiny:/opt/scrutiny/config -v `pwd`/influxdb2:/opt/scrutiny/influxdb -v /run/udev:/run/udev:ro --cap-add SYS_RAWIO --device=/dev/sda --device=/dev/sdb --name scrutiny ghcr.io/analogj/scrutiny:latest-omnibus Open the dashboard in your browser at localhost:8080 Trigger a collector run manually if the dashboard is empty: docker exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run
Where can I get scrutiny?
The source code and installation instructions are on GitHub: https://github.com/AnalogJ/scrutiny

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects