Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PLUGIN] Disk Viewer

Featured Replies

A compact dashboard widget that replaces Unraid's per-pool disk widgets with a single grid of all array, pool, and unassigned devices.

Adds a full-page Tools view with detailed SMART, temperature, and capacity columns. Ideal for servers with many disks.

Features

Dashboard Widget: Monitor every disk on your Unraid server in real time from the dashboard

Tools Page: A full-page view under Tools > Disk Viewer with a wide table of every disk and detailed SMART, temperature, capacity, scrub, and health columns, with its own independent settings

Section Organisation: Disks grouped under ARRAY, CACHE, POOLS, and UNASSIGNED with independent show/hide toggles

At-a-Glance Stats: Capacity, free space, used percentage, temperature, current read/write speed, and SMART health per disk

Drag-to-Resize: Footer handle to reveal more rows or shrink the widget back down without leaving the dashboard

Manual Spin Control: Per-disk bolt button to spin a disk up or down on demand, with bulk controls at section headers. Array members and multi-disk pool members stay protected

Spindown Aware: Does not wake sleeping disks just to read temperature or SMART, and keeps showing the last-known values while they sleep

Header Bar Indicator: A compact disk badge in the WebGUI top bar with temperature, health, and utilization markers reflecting the worst current state, with a configurable click action

Severity Highlighting: Used percentage and temperature shift to warning or critical colours, either inheriting Unraid's native Display thresholds or using your own

Auto Refresh: Configurable polling interval for live disk state, set separately for the widget and the tool

Theme-Aware: Inherits the active Unraid theme (black, white, azure, gray) without override hacks

Mobile Responsive: Works on all screen sizes including the Unraid 7.2+ responsive WebGUI

Persistent SMART Cache: Last-known SMART values are stored on the flash config so they survive reboots and plugin updates

Settings Page: Standalone settings at Settings > Disk Viewer, with per-tab Apply and Reset and browser-native form submission

Dashboard Widget Screenshots:

widget1.png

Header Badge Screenshots:

header-badge.png

Tool page screenshot:

tool1.png

Installation

Via Community Applications (recommended)

1. Open Community Applications in Unraid

2. Search for Disk Viewer

3. Click Install

Manual Installation

1. Go to Plugins in Unraid

2. Click Install Plugin

3. Paste the following URL: https://raw.githubusercontent.com/Lazaros-Chalkidis/unraid-diskviewer/main/diskviewer.plg

4. Click Install

Settings

Settings live at Settings > Disk Viewer Settings and cover four sections: behaviour (refresh interval, drag step size, respect spindown), display (which sections to show), header bar indicator (enable/disable, click action), and spin control (enable/disable manual spin buttons). Apply uses a plain browser POST, no AJAX.

Settings Screenshots:

settings1.png

Requirements

Unraid 7.2.x

Optional: the Unassigned Devices plugin, if you want unassigned devices to appear in the widget

GitHub Repository: https://github.com/Lazaros-Chalkidis/unraid-diskviewer

GitHub Profile: https://github.com/Lazaros-Chalkidis

Bug reports, feature requests and feedback are welcome here or on the GitHub issue tracker. If you hit something odd, a screenshot of the widget plus a few lines about your disk layout (how many array disks, what kind of pools) usually gives me enough to reproduce.

Edited by Lazaros Chalkidis
update content

Very nice plug-in. I really enjoy the layout. I see no issues with the plug-in, but i do have two quick pieces of feedback for your consideration.

  1. Method to disable the space alert for any drive in the array. I am using the Fill-Up method, so many of my drives are at 100%, which creates a false positive alert.

  2. Ability to toggle Celsius/Fahrenheit for drive temperature

Thank you for all your efforts!

  • Author

Hi @JudasD, thanks for the kind words and the thoughtful feedback.

Both items make sense, putting them into the next release:

1. Fill-Up allocation legitimately puts drives at 100% and that should not read as an alert. I will add a toggle to either turn off the colour-shift on the used percentage column entirely, or set custom warning/critical thresholds that override the ones inherited from Unraid Display Settings.

2. Temperature units. The plugin currently always renders Celsius. Unraid's Display Settings already has a Temperature Unit toggle (C/F) and the widget should honour that automatically rather than needing its own setting. Will wire it up, so the temperature column follows whatever you have set globally.

Will post here when the next release lands.

  • Author

v2026.05.21 is out

Feature additions

Space Severity Highlighting: New dropdown in Display with three modes (Inherit, Custom, Disabled).

Temperature Unit Awareness: Plugin now follows Unraid's global Temperature Unit setting (°C / °F) automatically.

Improvements

Wider Settings Panel

Refreshed Credits Modal

21 hours ago, Lazaros Chalkidis said:

v2026.05.21 is out

Feature additions

Space Severity Highlighting: New dropdown in Display with three modes (Inherit, Custom, Disabled).

Temperature Unit Awareness: Plugin now follows Unraid's global Temperature Unit setting (°C / °F) automatically.

Hi @Lazaros Chalkidis , I have tested the new version and here are my findings:

Space Severity Highlighting works on my server. Thank you for this addition.

Temperature Unit Awareness does not appear to be working. I have selected Celsius and Fahrenheit in my setting, and both still display in celsius in the widget.

Edited by JudasD

  • Author
52 minutes ago, JudasD said:

Hi @Lazaros Chalkidis , I have tested the new version and here are my findings:

Space Severity Highlighting works on my server. Thank you for this addition.

Temperature Unit Awareness does not appear to be working. I have selected Celsius and Fahrenheit in my setting, and both still display in celsius in the widget.

Hi @JudasD, try ctrl -alt-del. The most likely cause is a browser cache. If it doesn't fix it, let me know.

20 hours ago, Lazaros Chalkidis said:

Hi @JudasD, try ctrl -alt-del. The most likely cause is a browser cache. If it doesn't fix it, let me know.

HI @Lazaros Chalkidis, i had to flush cache on browser and now it is working. 👍

I have my HDD warning temp set to 45, and my NVME warning temp set to 60. I am the NVME drives showing red on the widget when it passes the 45 degree mark of the HDD. The widget is acting as though it uses the HDD temperature threshold for all drives. Hopefully my explanation makes sense.

  • Author

Hi @JudasD,

The plugin was reading only the global HDD threshold from Display Settings and applying it to every disk, ignoring the per-disk overrides you set on the Main page. Honestly didn't think about per-disk overrides at all.

Going to take me a few days to rework the code to handle these properly, along with a few other improvements I've got planned. Will post here when the next release lands.

Thanks for the patience.

Love this plugin and overall how it displays data - Might I suggest though for each group (Array, Cache Pools, etc) that the total storage be displayed differently based on how its setup.

For Example, I have 2 PARITY drives, the first one lists my total storage, the 2nd one is identified as PARITY. It would be better to display the total size of the array in a row above the PARITY disks.

Similarly, I have two cache pools. The first row displays the total storage if they were striped volumes, but I have them setup as ZFS pools. How it is now, is the first row for each one displays the total capacity of the disks, the 2nd row displays the capacity in the ZFS pool setup, and each subsequent row is the remaining individual disks after the first one. It would be better to omit the first row that displays the total size of all drives in the pool combined unless they are setup as a true striped pool, and then a header row that displays the total usable pool size, and then a row for each disk member.

  • Author

Hi @shwa87, thanks for the kind words and the detailed write-up.

Both points are fair, and honestly the current behaviour reads as quirky once you describe it like that.

Putting them into the next release:

1. A dedicated summary row above the parity disks for the ARRAY section, so the array total stops piggybacking on the first PARITY row.

2. Pool topology detection so the displayed capacity matches the actual pool layout (mirror, RAIDZ, RAID1, etc) instead of the raw sum of the member disks. The raw-sum row gets dropped when the pool is not a true stripe.

Will post here when it is ready. Thanks for the feedback.

Just now, JudasD said:

HI @Lazaros Chalkidis, i had to flush cache on browser and now it is working. 👍

I have my HDD warning temp set to 45, and my NVME warning temp set to 60. I am the NVME drives showing red on the widget when it passes the 45 degree mark of the HDD. The widget is acting as though it uses the HDD temperaature threshold for all drives. Hopefully my explanation makes sense.

Just now, JudasD said:

HI @Lazaros Chalkidis, i had to flush cache on browser and now it is working. 👍

I have my HDD warning temp set to 45, and my NVME warning temp set to 60. I am the NVME drives showing red on the widget when it passes the 45 degree mark of the HDD. The widget is acting as though it uses the HDD temperataure

threshold for all drives. Hopefully my explanation makes sense.

Hi @Lazaros Chalkidis, would it be possible to use the same polling method for the drive free space as you would for the temperature? This would allow for specific drive settings to be used for each device.

I am also seeing the Header Bar Indication Click-action always takes me to the 'main' page, no matter what i have set here.

I do have the Unassigned Device Plugin installed and the drives show on my dashboard widget normally, but the Disk Viewer widget doesn't show them.

Edited by JudasD
typos

  • Author

Hi @JudasD, thanks for the feedback!

The issues regarding "Per-drive settings for free space" and "Header click-action" have been included in the next update. For the UD drives not showing up, if you've enabled them in the settings, but they're still not showing up, I'll try to figure out what's going on.

  • Author

v2026.05.28 is out

Fixed

Pool disk errors are now actually detected and flagged.

SSD and NVMe drives use their own temperature thresholds instead of the HDD ones.

Per-disk temperature overrides set in Unraid SMART settings are honoured.

Failed or disabled array disks are now flagged as critical.

Unassigned drives are visible by default.

Header click action setting now works.

Array data disks show their correct capacity.

Parity disks now show their I/O activity, and aggregate rows show real totals.

Hover tooltip works reliably across all themes.

Filesystem badge stays readable on light themes.

New Features

Hover the header icon to see exactly which disks have issues and why.

Warning triangle next to a section header when any disk in that group has errors.

RAID type shown in section headers (RAID 6, BTRFS RAID 1, ZFS Mirror, and so on).

Click action setting for the header icon: Open Main, Dashboard, or Settings.

New toggles: highlight pool disks by used %, show filesystem badge, show disk errors.

Per-disk free-space overrides honoured (set from the Main page).

Improvements

ARRAY section redesigned: parity, data disks, and aggregate row.

CACHE section now shows the pools actually used as cache, not just the one named "cache".

Multi-disk pool members shown as DEVICE 1, 2, ... with the totals on the summary row.

Cleaner zebra striping in combined sections.

Default refresh interval is now 20 seconds.

Show Unassigned defaults to off.

Hover tooltip colours match your active Unraid theme.

Bigger, clearer speed arrows without bouncing the row height.

New Screenshots

header-badge.png

widget1.png

Great plugin. I've been wanting a way to see amount of disk used and percentage used on the same screen, and this plugin almost does it. Some suggestions/requests.

  1. Add column for amount of space used.

  2. Add a decimal to the percentage used. 1 percent of a 16TB disk is 160GB, so being able to see one decimal place would be helpful.

  3. Unraid lists my disk as 16TB and your plugin shows it as 14.6TB. Would like the option to make those consistent.

  4. I only have one parity drive, so being able to hide parity2 would be nice.

Thanks.

  • Author

Hi @mrhogan, thanks for testing it out.

1. Fair point, the value's already there internally (size minus free). Adding it as an optional column.

2. Yeah, 1% on a 16TB drive is a lot. Adding a toggle for one decimal place.

3. That's actually a bug, not a preference. My plugin uses binary math (1024-based), Main uses decimal (1000-based). Same disk, different unit. Fixing to match Main.

4. Empty Parity 2 shouldn't show at all when you've only got one parity assigned. Filter on my end is missing that case. Will be gone in the next build.

All four going into the next release.

  • Author

v2026.06.02 is out

Fixed

Disk sizes now match the Unraid Main page (a 2 TB drive reads as 2 TB).

Disk Viewer page column headers now stay pinned while scrolling.

Live read/write speed updates again on its own fast cadence.

Used column and decimal percentage now display correctly right after a fresh install.

Empty Parity 2 slot no longer appears on single-parity arrays.

New Features

Disk Viewer page: a new full-page view under Tools > Disk Viewer with a wide table of every disk, including detailed SMART, temperature, capacity, scrub and health columns.

Separate Widget and Tool settings: Settings now has Widget and Tool tabs, each configured independently with its own Apply and Reset.

USED column now shows the used bytes next to the percentage, with optional one-decimal precision.

Section header indicators: small icons next to ARRAY, CACHE, RAID and POOL show how many disks have errors, high temperature, or bad health, with a tooltip listing them.

Font size option to shrink the disk rows and fit more on screen.

Improvements

Critical temperatures now stand out: a separate red indicator sits next to the amber one and pulses when a disk runs well over its limit, in both the widget and the header badge.

Used bytes and one-decimal percentage are now shown by default.

Refreshed zebra striping for a cleaner look across all themes.

Dashboard screenshot

widget1.png

Tool page screenshot

tool1.png

@Lazaros Chalkidis Does the plugin support the unassigned drives that have been set as pass through? I only have 1 unassigned drive and it isn't showing the the plugin. Not sure how else to help troubleshoot this one.

Edited by JudasD

  • Author

v2026.06.05 is out

Fixed

Unassigned drives show up again on the newest Unassigned Devices plugin, which changed how it stores its device list.

The header badge now pulses only when a disk runs well over its critical temperature, matching the widget, instead of flashing on any critical reading.

Tool settings are now fully independent from the Widget: a Tool option left at its default no longer follows the Widget value.

New Features

Header click action now includes "Open Tool", so the top-bar icon can jump straight to the Disk Viewer page.

Improvements

Unassigned drives now show real temperature and SMART health when the drive reports it.

Unassigned drives now show their live read/write speed.

Last scrub now follows your Unraid date format from Settings > Date and Time.

Tool page Small font size is now only slightly smaller, so it stays comfortable to read.

Widget font size options are now Default (compact) and Large.

@JudasD try the latest version and let me know if the unassigned drives are showing up for you.

Hi @Lazaros Chalkidis, I tried the new version and i am still not seeing my unassigned drive.

  • Author

Hi @JudasD, let us check two things, in order.

1) First, make sure the unassigned section is actually turned on. It is off by default, and it is set separately for the dashboard widget and for the Disk Viewer page.

2) If it is already on and the drive still does not appear, the plugin now writes a small diagnostic file that tells me exactly what it sees and why a drive is or is not picked up. After you have reloaded with the section enabled, please run these two commands from the Unraid terminal and paste the output here:

cat /tmp/diskviewer_cache/ud_diag.json

echo "----"

cat /var/state/unassigned.devices/unassigned.devices.json

If you would rather not paste the whole second file, I mainly need the "device", "mounted", "pass_through", "array_disk" and "pool" fields for your drive (feel free to blank out the serial).

That will show whether your drive is in the list at all, and if so why it was skipped.

Thanks for the updates. I noticed one other thing with respect to the precision of the numbers.

Here are my cache drives in Disk Viewer

image.png

There is over 100GB difference in the amount used (about 5%) and they both show 1.5TB used. The standard dashboard widgets show 1.49 TB and 1.53TB. So, again, another digit would be helpful.

The Tools page is very nice. The scrub and frag columns all say n/a and I don't have age info on all drives. Is there something I need to do to populate that?

Thanks again for the great plugin.

  • Author

Hi @mrhogan, thanks for the feedback and the detailed report.

The next update gives TB and up a second decimal (clean values like 2 TB stay 2 TB), so your two cache drives will read 1.49 and 1.53.

On the n/a columns Age, Realloc, Pending, CRC and Verdict come from SMART, and the plugin will not wake a sleeping disk to read it. So spin up any disks in standby first and the values fill in. A few drives never report Power-On Hours at all, so Age can stay n/a there even when awake.

Last scrub is a btrfs/zfs thing, and on a multi-disk pool it shows on the summary row, not the member rows. Frag is zfs only (read from zpool), btrfs can scrub but does not expose a fragmentation number, and XFS has neither.

Thanks again.

19 hours ago, Lazaros Chalkidis said:

Hi @JudasD, let us check two things, in order.

1) First, make sure the unassigned section is actually turned on. It is off by default, and it is set separately for the dashboard widget and for the Disk Viewer page.

2) If it is already on and the drive still does not appear, the plugin now writes a small diagnostic file that tells me exactly what it sees and why a drive is or is not picked up. After you have reloaded with the section enabled, please run these two commands from the Unraid terminal and paste the output here:

cat /tmp/diskviewer_cache/ud_diag.json

echo "----"

cat /var/state/unassigned.devices/unassigned.devices.json

If you would rather not paste the whole second file, I mainly need the "device", "mounted", "pass_through", "array_disk" and "pool" fields for your drive (feel free to blank out the serial).

That will show whether your drive is in the list at all, and if so why it was skipped.

Hi @Lazaros Chalkidis, below is my output. i dont not have the folder: /var/local/emhttp/plugins/unassigned.devices and my unassigned.devices.ini is located at /var/state/unassigned.devices/

{

"source": "ini",

"path": "/var/local/emhttp/plugins/unassigned.devices/unassigned.devices.ini",

"exists": false,

"size": null,

"sections": 0,

"timestamp": "2026-06-06T12:01:26-07:00"

}----

cat: /var/state/unassigned.devices/unassigned.devices.json: No such file or directory

Edited by JudasD
edited for clarity

  • Author

@JudasD, the issue turned out to be more complex than I initially expected. I've downloaded local the latest version of UD so I can better understand how it's implemented and figure out exactly what's causing the problem with DiskViewer.

Give me a little time to dig into it, and I should have it fixed in the next release.

  • Author

v2026.06.08 is out

Fixed

The Used and Free columns now always show two decimals, and the used percentage shows two decimals too, so drives with close usage stay distinct.

Multi-device pools (cache and other RAID pools) now report the pool's real usable size, free and used, the same figures as the official Main page, instead of adding the member disks together. Mirror and raidz pools that previously read roughly double are now correct, and pool member rows show each disk's own size.

Font size now has three steps (Small, Default, Large) on both the widget and the Tool page, so you can fine-tune the disk-row text.

Unassigned drives are now detected directly from the system instead of relying on the Unassigned Devices plugin's own files, so they appear on every version of that plugin and even unformatted or empty drives now show up.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.