InventoryX

InventoryX

Plugin from DanITman

Overview

See what is using your disk space. InventoryX scans your array, pools and shares and shows the result as a treemap, with a file list, file-kind totals, the largest files and fast search by name. Scans run in the background on the server and the last scan is kept across reboots. A port of Disk Inventory X.

InventoryX

See what is using your disk space on Unraid.

InventoryX scans your array, pools and shares and shows the result as a treemap: every file is a rectangle sized by the space it takes and coloured by its kind, so the big things are impossible to miss. It is a port of Disk Inventory X for macOS to Linux, packaged as an Unraid plugin.

InventoryX showing a whole server: file tree, treemap and file kinds

What it does

  • Scan the whole server, the array, a single disk, a pool, a share or any folder. Shares are read from the underlying disks directly, which is much faster than going through /mnt/user.
  • Treemap and file list side by side. Click either one and the other follows.
  • Zoom into any folder; breadcrumbs take you back out.
  • File kinds by total size. Click a kind to highlight its files in the map.
  • Largest files: the 200 biggest in the current view.
  • Search by name across the whole scan as you type.
  • Progress with time remaining for whole-disk scans. Scans run on the server, so you can close the page and come back later.
  • Saved scans: the last scan is kept on a pool and is there straight away after a reboot.
  • Delete, off by default, with guards (see below).

Hard links are counted once, other filesystems are not entered, and totals match du.

ZFS is untested. InventoryX was built and tested on XFS array disks and a btrfs pool. It is written to scan ZFS pools too (child datasets are included, snapshots are skipped), but that has never been run on a real ZFS pool. Sizes and free space may be wrong there, and InventoryX says so on any scan that includes ZFS. Reports are welcome.

How you use it

Open Tools → InventoryX, pick what to scan, and you get three panes: the file tree on the left, the treemap in the middle and the file kinds on the right. Selecting something in one pane selects it in the others. Right-click a row or a block for Zoom In, Select Parent, Copy Path, Show in File Manager and Delete.

Highlight a kind. Click a kind in the list and everything else in the map goes dark, so you can see where those files are.

ZIP Archive selected in the kinds list, with only ZIP files lit in the treemap

Largest files. The second tab lists the biggest files in the current view with their paths (blurred in this picture).

Largest Files tab listing virtual disk images by size

Search. Type part of a name; matches from the whole scan appear largest first, each with its folder.

Search results for the word backup, largest first

Settings. Under Settings → User Utilities → InventoryX you choose where the last scan is kept and whether deleting is allowed.

InventoryX settings page with the delete options

Install

In the Unraid web UI: Plugins → Install Plugin, paste this URL and press Install.

https://raw.githubusercontent.com/DanITman/inventoryx/main/inventoryx.plg

Then open Tools → InventoryX. Settings are under Settings → User Utilities → InventoryX.

Requires Unraid 7.0 or later on x86-64.

Deleting

Unraid has no trash, so anything deleted from InventoryX is gone for good. Deleting is off until you turn it on in the settings. When it is on:

  • The flash drive, the operating system, disks, pools, mount points and anything containing a mounted filesystem can never be deleted.
  • The Docker image and the VM (libvirt) image are protected. An advanced setting can unlock them; it is not recommended.
  • Whole shares, protected items and anything larger than 10 GB (configurable) require typing DELETE.
  • Every delete shows the full path, size and number of files first.
  • If a file or folder has changed since it was scanned, the delete is refused until you refresh, so you never delete something you have not seen.

These rules are enforced by the program on the server, not by the web page.

How it works

One small static program (Rust) runs on the server and does the scanning, layout and search. It listens on a Unix socket only. The web UI reaches it through a PHP page inside Unraid's own web server, so Unraid's login and request-forgery protection apply and no extra network port is opened.

Build from source

Needs rustup with the x86_64-unknown-linux-musl target.

cargo test                 # run the tests
./scripts/build.sh         # static Linux binary
./scripts/package.sh       # dist/inventoryx-VERSION.tgz and inventoryx.plg

For development on any Unix machine: cargo run -- serve and open http://127.0.0.1:7878.

Credits and license

InventoryX is a port of Disk Inventory X by Tjark Derlien, and keeps its look: a squarified cushion treemap (Bruls, Huizing and van Wijk; van Wijk and van de Wetering).

GNU General Public License v3 or later. See LICENSE.

Media gallery

1 / 5

Download Statistics

0
Total Downloads
88
This Month
7
Avg / Month

Downloads by Month

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
https://raw.githubusercontent.com/DanITman/inventoryx/main/inventoryx.plg
Last Updated2026-11-14
First Seen2026-11-13