-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
- Build the SPA on a machine with Node.js (produces
plugin/dist/). - Copy the
plugin/directory to/usr/local/emhttp/plugins/undockerui/on the Unraid server. - Reload the Unraid web UI and open UndockerUI from the menu.
If you upgraded from an older copy that used UnDocker.page, delete that file from /usr/local/emhttp/plugins/undockerui/ and keep only UndockerUI.page so you do not get duplicate menu entries. The web route is /UndockerUI.
From a checkout of romwil/undockerui:
cd undockerui/web
npm ci
npm run buildWhat this does:
- Runs TypeScript (
tsc -b) and Vite production build. - Writes static assets to
../plugin/dist/(relative toweb/). - Copies
../plugin/compose_api.phpto../plugin/dist/compose_api.phpso the browser can POST to./compose_api.phpnext toindex.html.
Important:
plugin/dist/is listed in.gitignore. You must runnpm run buildafter every pull that changes the UI orcompose_api.php, then redeploy thedist/folder to the server.
Copy (rsync, SMB, flash backup, etc.) so the server has:
/usr/local/emhttp/plugins/undockerui/
UndockerUI.page # Registers the menu item under Tasks (see file for Menu= index)
undockerui.php # Wrapper: iframe → /plugins/undockerui/dist/index.html?csrf=…
compose_api.php # Optional duplicate; the served copy for the SPA is under dist/
dist/
index.html
compose_api.php # Required: same directory as index.html
assets/ # Hashed JS/CSS from Vite
favicon.svg
icons.svg
Match other Dynamix plugins: typically 644 for files, 755 for directories, owned so emhttp can read them. If assets 404 after an SMB copy, re-check execute bits on directories.
This file tells Unraid where to show the plugin and when:
-
Cond=— only if Docker is enabled (same idea as the stock Docker page). -
include— loadsundockerui.phpfrom the path above.
If you change the install path, update the include() path in UndockerUI.page accordingly (non-standard installs only).
- Log into the Unraid web UI.
- Open UndockerUI (default: under Tasks in the menu; position is controlled by
Menu="Tasks:61"inUndockerUI.page). - You should see the container table load without errors.
- Optional: open Compose workspace, choose Browse — you should get a JSON directory listing or the Unraid file browser, not an HTML 404 page.
- Pull latest sources (or download a release archive when available).
-
cd web && npm ci && npm run build. - Overwrite
/usr/local/emhttp/plugins/undockerui/dist/and any updatedundockerui.php,UndockerUI.page, or rootcompose_api.php. - Hard-refresh the browser (Ctrl+Shift+R) to avoid stale cached JS.
Remove the directory:
rm -rf /usr/local/emhttp/plugins/undockeruiThen remove or hide UndockerUI from the Unraid menu if your Unraid version caches menu entries (reboot or reload emhttp per Unraid docs).
- First run
- Troubleshooting
-
Architecture — why
compose_api.phplives indist/