Unraid Themer Beta

Unraid Themer Beta

Plugin from benjaminmue

Overview

BETA CHANNEL. A stable version exists: for daily use install the entry "Unraid Themer" (without Beta) instead of this one. This entry installs pre-release builds from the beta branch, published for testing before they are released. They may break. Both entries install the same plugin, so this one replaces the stable version and the stable entry replaces it again; your settings, themes, icons and logo carry over either way. Unraid then offers updates from the channel you installed last. Theme the Unraid 7 webGUI: pick a bundled theme or build your own from 8 colors, browse a built-in theme store, swap the UI icons for 9 open-source icon sets (or override any single icon), and set a custom background image and logo. Non-destructive - disable it and the webGUI is 100% stock. Self-contained: one .plg, no external runtime dependencies.

Unraid Themer

Found a glitch or have an idea? Open an issue or start a discussion. Testing and contributions are very welcome, and the beta channel is where new features land first.

A generic theming plugin for the Unraid 7 webGUI. Pick a theme (or build your own), flip it on, and the whole interface restyles β€” the classic Dynamix pages and the new Vue web-components β€” through Unraid's own CSS custom properties. Swap the UI icons for open-source icon sets, or override individual icons.

A modern, minimal successor in spirit to the discontinued Theme Engine, wrapped in a theme + icon system instead of a raw CSS textarea.

πŸ€– Built with AI. This plugin was written largely by an AI assistant (Claude Code / Anthropic), directed, reviewed and tested on real hardware by @benjaminmue. It runs on his own Unraid 7.3 server. Read the code before trusting it on yours β€” issues and PRs welcome.

Unraid Themer β€” a themed Unraid 7.3 dashboard

Features

  • Themes β€” bundled presets plus a built-in theme store you can browse and download from on demand. 19+ community themes and counting. Every theme shows its palette as a colour strip, so you see what you are getting before you download it.
  • Icon sets β€” swap Unraid's UI glyphs for 9 open-source line sets (Lucide, Tabler, Phosphor, Heroicons, Iconoir, Remix, Bootstrap, Carbon, Material Symbols) that tint with the theme. Or set any individual icon from a grid picker, an SVG URL, or your own uploaded SVG.
  • Theme builder β€” build your own theme from 8 colors (swatch or hex/rgb), with an optional bundled webfont (Inter, Roboto, Source Sans 3, JetBrains Mono, Nunito, Comic Neue), previewed live and saved as a preset. A live WCAG contrast readout covers the pairs that carry text, and the button label colour is chosen for you so it stays readable on any accent.
  • Themes stay current: a fix to a bundled theme reaches your server with the next plugin update instead of sitting in the release; registry-only themes get an "Update installed" button in the store. A theme file you edited yourself is recognised and never overwritten, and one you uninstalled stays gone.
  • Background image β€” set a background behind the whole UI, by URL (cached locally, CSP-safe) or a file on the server (Unraid's file picker), with a dim slider for legibility.
  • Custom logo β€” replace the Unraid wordmark in the header with your own logo, by URL or a file on the server.
  • Whole-UI coverage β€” classic Dynamix pages, the Vue header (bell, menu, toolbar), Community Apps, tables, dashboard and the Settings icons.
  • Sidebar layouts β€” Azure / Gray are supported; the base pairing keeps you in your layout family.
  • Non-destructive β€” disable it and the webGUI is 100% stock. Semantic status colors (disk health, array state) are deliberately left untouched.
  • Self-contained β€” one .plg, no external runtime dependencies.

Install

In Apps (Community Applications), search for Unraid Themer. The entry Unraid Themer is the stable release; Unraid Themer Beta is the beta channel described below. Or install it by URL: Plugins β†’ Install Plugin, paste:

https://github.com/benjaminmue/unraid-themer/raw/refs/heads/main/unraid-themer.plg

Then open Settings β†’ Utilities β†’ Unraid Themer, set Enable to Yes, pick a theme, Apply, and hard-reload the browser (Cmd/Ctrl+Shift+R).

Beta channel

New features land on the beta branch first. The branch a .plg is built from is its update channel, so an installed beta keeps updating from beta and never crosses over to stable:

https://github.com/benjaminmue/unraid-themer/raw/refs/heads/beta/unraid-themer.plg

Install it the same way, or pick Unraid Themer Beta in Apps; it replaces the stable build in place. Your settings live on the flash drive and survive the switch in both directions β€” to go back, install the main URL above again. Beta versions carry a bNN suffix.

Themes

Bundled and store themes appear in the Theme preset dropdown; the Theme store downloads more on demand (search + light/dark filter, validated before saving). On Apply the plugin pairs the Dynamix base (dark themes β†’ Black/Gray, light β†’ White/ Azure) so the Vue components and Community Apps render in the right mode.

Make your own: see THEMES.md and the annotated themes/_template.css. It's mostly 8 colors. Submit one with a PR to themes/ β€” a GitHub Action validates every theme before it can be listed in the store.

Screenshots

The Unraid Themer settings page β€” enable it, pick a preset, build your own from 8 colors, or browse the built-in theme store:

Unraid Themer settings page

The Themer Icons page overrides any individual glyph, and the grid picker pulls from every bundled icon set at once:

Themer Icons page

Icon grid picker across all bundled sets

Icons

Icon set swaps every UI glyph for one open-source set. For finer control, the Themer Icons page lists every slot with a live preview β€” pick from a searchable grid of all bundled sets, paste an SVG URL, or upload your own SVG (all validated).

How it works

Unraid 7 has no global CSS hook, but a .page with Menu="Buttons" runs inside <head> on every page. Unraid Themer uses that to inject the active theme + icon set

  • your overrides, only when enabled. Themes restyle via :root custom-property overrides, which inherit through the open shadow DOM of the Vue web-components, so the new UI recolors too. js/themer.js handles what CSS can't (the Vue header bell/menu icon swap, a Docker "update available" badge, dashboard chart colors). Config lives on the flash and is mirrored to the RAM webroot on boot, so it survives reboots.

Development

The .plg is fully self-contained and generated from the source tree:

plugin/usr/local/emhttp/plugins/unraid.themer/   # every embedded file
scripts/gen_iconsets.py                           # build the alt icon sets
scripts/gen_themes.py                             # build community themes
python3 build.py                                  # regenerate unraid-themer.plg

Edit source, run python3 build.py, commit the regenerated .plg.

Credits & prior art

This plugin was inspired by two prior community projects, which showed what's possible and how to hook into the webGUI:

Thanks to both authors. Classic palettes come from their respective communities: Nord, Dracula, Solarized, Monokai, Gruvbox, Everforest, Kanagawa, Catppuccin, Tokyo Night, One Dark, Ayu.

Icon set licenses

The bundled icon sets are open source, each under its own license:

  • Lucide (ISC); Tabler, Phosphor, Heroicons, Iconoir, Bootstrap Icons (MIT); Remix Icon, Carbon, Material Symbols (Apache-2.0).

Bundled fonts

Optional webfonts you can pick in the theme builder, served locally:

  • Inter, Source Sans 3, JetBrains Mono, Nunito, Comic Neue β€” SIL Open Font License
  • Roboto β€” Apache-2.0

Comic Neue is a free, OFL-licensed Comic-Sans-alike (the proprietary Comic Sans MS can't be bundled); the font stack falls back to a locally installed Comic Sans MS if present.

The plugin's own code is MIT. Icon glyphs and fonts remain under their respective licenses.

License

MIT β€” see LICENSE.

Media gallery

1 / 3

Download Statistics

0
Total Downloads

Downloads by Month

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
https://github.com/benjaminmue/unraid-themer/raw/refs/heads/beta/unraid-themer.plg
Last Updated2026-10-20
First Seen2026-10-20