Skip to content

Inch-high/Unraid-Reskin

Repository files navigation

Unraid ModernUI

A clean, flat, responsive theme for Unraid 7.x. Inspired by TrueNAS SCALE with refined Unraid orange accent.

⚠️ Unofficial hobby project — not affiliated with, endorsed by, or supported by Lime Technology, Inc. See Disclaimer before installing.

What's rebuilt

  • Shell — left sidebar + slim topbar replacing the stock top-nav/footer.
  • Dashboard — hero strip + grouped cards (Array, Cache, Parity, Memory, Docker, VMs, and optional plugin cards).
  • Docker — folders, tags, search, filters, bulk actions, live update-progress panel.
  • Main — array/device management: every device with model + serial, state, temperature, reads/writes/errors, FS and usage; the full Array Operation panel (Start/Stop, parity, spin, encryption key entry); and the Unassigned Devices card (disks, remote SMB/NFS/ISO shares, historical devices, mount/unmount). All actions reuse Unraid's stock backend.

Each surface has its own Modern/Stock toggle in Settings → Theme, and every replaced page falls back to stock instantly (toggle, ?modernui=off, or uninstall).

Screenshots

A tour of the rebuilt surfaces. Every page keeps Unraid's stock backend — only the UI layer is replaced — and each can be flipped back to stock independently from Settings → Theme.

Dashboard

Modern Dashboard — hero metrics strip with grouped Compute, Storage, Devices, Network and Workloads cards

A single hero strip across the top — Array, Cache, Workloads, Power — then grouped cards below: per-core Processor & Memory, a Disk Location bay map, GPU and IPMI sensors, live Network throughput, and a Docker Containers roll-up. Cards whose source plugin isn't installed are quietly skipped, so the layout stays clean on any install (see optional plugin dependencies).

Main — array & devices

Modern Main page — array usage bar plus per-device cards for every disk and cache pool

Every array, parity and cache device as its own card: model, state, temperature, reads/writes/errors, filesystem and usage, with SMART health at a glance. The usage bar up top shows capacity, free space and parity status; the full Array Operation panel (Start/Stop, parity checks, spin up/down, encryption-key entry) lives behind Array Details. Every action reuses Unraid's stock endpoints.

Docker

Modern Docker page — containers grouped into collapsible folders with search, tag filters and bulk actions

Containers organised into collapsible folders with per-folder CPU/RAM/disk roll-ups, plus tags, instant search, state / tag filters, and bulk actions. Check for updates runs a live update walk across every container; Manage Tags, Manage Folders and Add Container round out the toolbar. Folder and tag assignments persist on the flash drive and survive reboots. The stock Docker backend — start/stop/edit/remove and nchan live stats — is left untouched.

Organising containers into folders

Manage Docker Folders dialog — folder list on the left, name/colour/icon and a two-column container picker on the right

Manage Folders opens a single editor for every folder. Pick a name, a colour and an icon, then assign containers with the two-column picker — In this folder on the left, Available on the right, click to move either way. A container can live in one folder; anything unassigned falls into Ungrouped.

Creating a new folder — "Demo Stack" with a blue colour, chart icon and two containers assigned

+ New folder adds a fresh entry you can name and fill straightaway. Nothing is written until you hit Save (Cancel discards the draft); saves are atomic to /boot/config/plugins/unraid-modernui/docker-folders.json, so a crash mid-write can't corrupt your layout.

Tagging containers

Manage Docker Tags dialog — tag list, tag name/colour, and a per-container assignment checklist with tag badges

Tags are cross-cutting — unlike folders, a container can carry many. Manage Tags lists every tag with its colour; pick one to edit its name/colour or tick containers in the filterable assignment list. Tags then become first-class filters on the main Docker page (e.g. show only arr-stack or dns).

Settings → Theme

Theme settings — independent Modern/Stock toggles for Dashboard, Shell, Docker and Main, plus colour mode and density options

Each surface — Dashboard, Shell, Docker page, Main page — has its own Modern / Stock switch, so you can adopt the theme one page at a time. Also here: light / dark / system colour mode, comfortable / compact density, zebra stripes, and reduced-motion control. Disable theme reverts the entire UI to stock instantly — one of four fallback paths.

Consistent shell everywhere

Stock Settings index rendered inside the modern shell

Pages that aren't individually rebuilt still pick up the new shell — left sidebar, slim topbar, and the sidebar status footer (array, temps, power, UPS). Above is Unraid's stock Settings index, re-skinned without touching its contents.

Install

Two options:

1. Community Apps (once published) — search for "Modern UI".

2. Direct URL — Unraid → Plugins → Install Plugin → paste:

https://raw.githubusercontent.com/Inch-high/Unraid-Reskin/main/unraid-modernui.plg

After install, open Settings → Theme to configure.

Optional plugin dependencies

The base theme (tokens, components, shell) works on any Unraid 7.x install with no extra plugins. Some Modern Dashboard cards pull their data from third-party plugins — install only the ones you want to surface. If a plugin is absent the corresponding card is skipped, the rest of the dashboard renders normally.

Dashboard card Required plugin (Community Apps name)
Disk Location Disk Location
GPU GPU Statistics
IPMI IPMI (ipmi-tools)
UPS NUT (Network UPS Tools) or APC UPS (stock apcupsd, configured via Settings → UPS Settings) — either works
Processor → CPU temperature line Dynamix System Temperature
Processor → Total Power line A power-monitoring plugin (e.g. Dynamix System Statistics with RAPL/IPMI, or PerfMon)

Built-in cards (Array, Cache, Parity, Memory, Docker, VMs, Interface, Identity, Motherboard, Shares, Users) need nothing extra.

Fallback to stock UI (any time, instantly)

Four independent escape hatches — all safe to use on a production install:

  1. Settings → Theme → Disable theme — instant revert, plugin stays installed
  2. Floating pill — appears in the bottom-right when theme is disabled, click to re-enable
  3. URL param — append ?modernui=off to any Unraid page for a single-load bypass
  4. SSHtouch /boot/config/plugins/unraid-modernui/disabled then restart Unraid

Develop

Requires Node.js 20+, PHP 8.x on PATH, OpenSSH client (Windows 10+ has it built-in).

npm install
npm run build        # Sass + Vite → package/theme/dist/
npm test             # Unit tests (TypeScript + PHP)
MODERNUI_SSH_PORT=22 npm run dev-mirror -- root@<your-unraid-host>   # Build + scp + remote install

Run the integration test (assumes you have a test Unraid box reachable over SSH):

MODERNUI_TEST_HOST=root@<host> MODERNUI_SSH_PORT=22 npm run test:integration

See INSTALL.md for install troubleshooting and docs/manual-verification.md for the pre-release checklist.

Disclaimer

This is a personal hobby project. Install at your own risk.

  • Not affiliated. I'm not affiliated with, endorsed by, sponsored by, or in any way officially connected to Lime Technology, Inc., the makers of Unraid®. "Unraid" and the Unraid logo are trademarks of Lime Technology, Inc. — all rights reserved by their respective owners. This project is independent fan work that re-skins the stock web UI on a user's own server; it is not a fork of Unraid and does not redistribute any Unraid code.
  • Not supported by Unraid. Don't ask the Unraid forums or Lime Tech for help with this theme. Bugs / questions / feature requests go in GitHub Issues on this repo only. If you have a Lime Technology support contract, this plugin is not covered by it.
  • Hobby quality. This is something I built for my own server in my spare time. There is no roadmap, no SLA, no guarantee of compatibility with future Unraid releases, and no promise that I'll keep maintaining it. Stuff will break. Some of it has not been tested outside my own homelab.
  • Vibe coded. Roughly ~90% of the code in this repo was written with heavy AI assistance (Claude). I review and test the output, but the volume of code is far greater than I could hand-write in spare-time hours, and AI-generated code can absolutely contain subtle bugs, edge cases, or security mistakes that a human reviewer (me) misses. Read the code before trusting it.
  • No warranty. The plugin is provided "AS IS", without warranty of any kind, express or implied — including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the author be liable for any claim, damages, or other liability — including data loss, downtime, container breakage, or anything else — arising from or in connection with the plugin or its use. You take full responsibility for installing it on your server.
  • It's a theme, but Unraid is your data. Always have working backups before installing any third-party plugin. Four independent fallback paths back to the stock UI are documented above (Fallback to stock UI) — know how to use them before you need them.

If any of the above makes you uncomfortable, don't install this. Stick with the stock UI — it's good.

License

MIT (see source). The MIT license governs this project's own code. It does not grant any rights to Unraid, the Unraid name, the Unraid logo, or any Lime Technology trademarks or copyrighted material.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors