Releases: boubli/AMUD-Dashboard
v1.5.1.0
Appearance cleanup, offline themes, audit log fixes, and a working in-app updater again.
This patch release tidies up Settings → Appearance, ships bundled themes you can apply without internet, and fixes a few things that slipped through v1.5.0.0 — especially the audit log and Proxmox auto-update checksum lookup.
Added
Offline bundled themes
- 18 theme CSS files ship inside
ui/static/themes/with amanifest.jsonindex. - Settings → Appearance → Bundled theme — pick a theme from the dropdown and apply it without copying CSS from the docs site.
- Six new looks beyond simple palette swaps: Terminal Phosphor, Vaporwave Grid, Blueprint Tech, Luxury Gold, Holographic Prism, Brutalist Mono.
- Theme gallery on GitHub Pages gets a Download CSS button per theme.
Developer tooling
- Pre-commit hook runs
cargo fmtso Rust formatting matches CI. scripts/check-rust.ps1/check-rust.sh— run fmt, clippy, and tests locally before pushing.- Shared
rustfmt.tomlfor the workspace.
Improved
Appearance settings
- Removed the old overlay tint presets — they duplicated what Custom CSS and the theme gallery already do better.
- Quick Colors now covers accent + light/dark mode; glass blur, card radius, and grid columns stay as sliders.
- Live preview is scoped to the mini dashboard scene instead of fighting the whole settings page.
- Custom CSS updates live in the preview via
#amud-custom-css. - Accent color is sanitized on save so bad values cannot break the UI.
Themes & docs
- Each theme lives in its own definition file under
docs/src/data/themes/definitions/— easier to maintain and extend. themes.mdno longer repeats full CSS blocks; it points to the gallery and bundled files instead.
Audit log
- Schema is ensured on startup so the log table always exists.
- Startup logs audit health; the API returns 503 if the log cannot be read instead of a silent empty list.
- Saving settings from the UI now writes an audit entry (covered by an integration test).
- Troubleshooting docs expanded for audit log issues.
Fixed
- Release SHA256SUMS — v1.5.1.0 initially shipped a broken checksum file (only
ui.tar.gz). Restored the v1.5.0.0 layout (target/release/amud-server,target/release/amud-agent,ui.tar.gz) soupdate-amud.shand the in-app updater verify correctly again. - In-app updater on Proxmox — checksum map accepts both full release paths and basenames.
- CI
cargo fmtdrift onimports.rsandsystem.rs. - Sonar re-export warning in the theme gallery index.
Upgrade
curl -sSL https://github.com/boubli/AMUD-Dashboard/releases/latest/download/update-amud.sh | bashVerify Settings → System shows v1.5.1.0.
If you deploy UI files manually to an LXC, push at least:
pct push <CTID> ui/templates/settings.html /opt/amud/ui/templates/settings.html
pct push <CTID> ui/static/style.css /opt/amud/ui/static/style.css
pct push <CTID> ui/static/themes /opt/amud/ui/static/themesThen restart amud-server after updating the binary.
Full diff since v1.5.0.0: v1.5.0.0...v1.5.1.0
v1.5.0.0
Visual overhaul, drag-and-drop layout, light mode, and docs/marketing expansion.
This is the first major UI release since v1.4.2.2 — dashboard customization now goes well beyond static YAML-based homelab dashboards.
Added
Visual upgrade (Phases 1–6)
- Cinematic animations — staggered card entrance, hover micro-interactions, floating background orbs, pulsing status badges, greeting shimmer
- Drag & drop card reorder — admin-only handle drag, CSRF-protected
POST /apps/reorder, transactional SQLitesort_order - Bento card spans — per-app
1x1,2x1,1x2sizing with mobile collapse - Light mode —
data-theme="light"with full token overrides (modals, forms, telemetry, settings) - Video wallpaper —
.mp4/.webm/.oggbackground support with autoplay/muted/loop - Live settings preview — real-time accent, glass, radius, theme mode, wallpaper, overlay, grid columns, accent glow
Docs & discoverability
- Docusaurus blog (24 posts), FAQ,
llms.txt, JSON-LD structured data - Theme gallery on GitHub Pages with preview screenshots and copy-paste CSS
- Card-grid blog layout with topic-specific cover art
- Unified AMUD Dashboard branding across docs and site
Backend
sanitize_theme_mode()andsanitize_card_span()on settings/app savenext_app_sort_order()— new apps append after max sort order- Integration tests for
/apps/reorder
Improved
- Admin drag UX: handle-only, category-filter guard, error toasts, DOM rollback on failure, touch/pointer support
- Settings page:
data-themeon<html>, wallpaper layer preview, upload triggers live preview - Light mode: body background cleared, orbs hidden, contrast fixes for tabs, health hints, drag handles
- Docker publish CI hardened against transient crates.io failures
- SonarCloud maintainability and duplication fixes across CSS and blog scripts
Fixed
- Add App modal resets
card_spanto1x1 - Reorder rejects unknown/duplicate IDs with 400 + error message
drag.jsloaded for admins only (not guests)- CI rustfmt, Sonar default-parameter and duplicate CSS selector issues
Upgrade
curl -sSL https://github.com/boubli/AMUD-Dashboard/releases/latest/download/update-amud.sh | bashVerify Settings → System shows v1.5.0.0.
Existing databases pick up sort_order and card_span columns automatically on first boot.
Full diff since v1.4.2.2: v1.4.2.2...v1.5.0.0
v1.4.2.2 — Dashboard telemetry only
Host telemetry and status fixes without the separate System page.
This release keeps dashboard telemetry on the main page only (CPU, RAM, GPU, Disk, Bandwidth) and removes the /telemetry page and System topbar button introduced in v1.4.2.0.
Removed
- Dedicated
/telemetrypage and System topbar link.
Fixed
- Host-based apps such as Beszel and Filebrowser map correctly even when they are not LXC containers.
- Proxmox card status follows host agent connectivity (no false OFFLINE from URL-only checks).
- App-to-container matching improved with normalized aliases and URL token fallback.
Improved
- Dashboard telemetry row shows CPU, RAM, GPU (if available), Disk, and Bandwidth on the home page.
- Guest (not logged in) app cards render compactly to avoid oversized rows.
Upgrade
curl -sSL https://github.com/boubli/AMUD-Dashboard/releases/latest/download/update-amud.sh | bashVerify Settings → System shows v1.4.2.2.
Full diff since v1.4.1.0: v1.4.1.0...v1.4.2.2
v1.4.1.0
Telemetry and Proxmox polish. If you're on v1.4.0.0, run update-amud.sh as usual — your database is upgraded in place.
What's fixed & improved
Proxmox host card
- Proxmox stream card matches the Jellyfin-style layout (logo, host metrics, status badge).
- Proxmox no longer shows OFFLINE when the PVE web UI fails TLS checks but the host agent is connected — status comes from agent telemetry.
- Proxmox card lives in its app category section instead of being hidden by the Media filter.
Per-app CPU / RAM on dashboard
- App cards again show live container CPU and RAM when the agent reports matching LXC/Docker names.
- WebSocket handler no longer crashes on missing DOM nodes (fixes telemetry updates stopping entirely).
Host telemetry (CPU + GPU)
- Host card shows CPU model name, core count, temperature, and live CPU/Memory sparklines.
- GPU card appears automatically when
nvidia-smiis available on the Proxmox host (whereamud-agentruns): name, utilization %, VRAM, and a usage sparkline. - Requires NVIDIA drivers +
nvidia-smion the host for GPU stats; CPU/RAM work without it.
Settings & privacy
- Fixed Dashboard Logo field showing the literal
{{app_logo}}placeholder when empty. - Guest system telemetry visibility and TLS verification moved from Support / Donation to a dedicated Privacy & Access tab.
- Guest telemetry toggle confirmed: when off, guests see no host metrics; when on, they get basic CPU/RAM/GPU/network only (no container names, streams, or admin controls).
Upgrade
On your Proxmox LXC:
curl -sSL https://github.com/boubli/AMUD-Dashboard/releases/latest/download/update-amud.sh | bashRestart the host agent after upgrade if you want GPU metrics:
systemctl restart amud-agentVerify version in Settings → System shows v1.4.1.0.
Checksums
See SHA256SUMS in the release assets.
Full diff since v1.4.0.0: v1.4.0.0...v1.4.1.0
v1.4.0.0: Security, audit log, and UI overhaul
Big one. This release is mostly about making AMUD safer to run in production, easier to trust, and nicer to look at every day.
If you're coming from v1.3.7.x, run update-amud.sh as usual — your existing amud.db is upgraded in place. No wipe needed.
What's new
Audit log
Admin actions now get recorded in SQLite: logins, settings changes, backup exports, user management, and more. There's a new Audit tab in Settings so you can actually see what happened and from which IP.
Upgraded installs on Proxmox get the audit_log table automatically — no manual SQL.
Security hardening
- Webhook URLs are masked in the API and outbound targets are filtered (no localhost/metadata SSRF).
- Health checks block loopback/metadata while still allowing normal homelab RFC1918 targets.
- New
.env.exampledocumentsAMUD_TRUST_PROXY,AMUD_SECURE_COOKIES, andAMUD_SECRETS_KEY. - Branding fields in the dashboard are HTML-escaped before they hit the template.
- Settings tables and modals build rows with DOM APIs instead of
innerHTMLstring soup.
Database
SQLite now runs with WAL mode and foreign keys enforced. Better concurrency, fewer weird edge cases on busy instances.
Dashboard & UI
- Proxmox-inspired status chips and badge styling across the main grid.
- Settings drawer got a proper audit view and safer client-side rendering (
admin.jshelpers). - Accessibility pass: button types, label associations, contrast fixes on badges and login errors.
- Service worker and login page use
globalThisfor broader browser compatibility.
CI / quality
- SonarCloud quality gate is green: Security, Reliability, Maintainability all A, hotspots reviewed.
- All GitHub Actions pinned to commit SHAs.
cargo auditin CI, Dependabot config removed (manual dep review instead).
Install scripts
setup-amud.sh/setup-hydrivax.sh/update-amud.sh— cleaner bash ([[tests), shared awk constant, agent service path constant.
Docker
FROM scratchimage unchanged in spirit — static musl binary, minimal attack surface. Documented why it runs as root (no users in scratch).
Upgrade
./update-amud.shOr pull the new container image if you run Docker.
Verify the version in Settings → System shows v1.4.0.0.
Checksums
See SHA256SUMS in the release assets. Always verify before deploying to production.
Full diff since v1.3.7.3: v1.3.7.3...v1.4.0.0
v1.3.7.3: Settings UI Scrolling Fix
Fixes an issue where the settings sidebar was not scrollable on smaller screens.
v1.3.7.2: Fix Auto-Updater & GLIBC Mismatch
Hey everyone! We noticed that some of you running older LXC containers (like Debian 11) experienced the server not starting back up after using the new auto-updater. This happened because the binaries were built on a newer Ubuntu version, requiring a newer glibc. This release fixes that! I've downgraded our GitHub Actions builder to an older, much more compatible Ubuntu version. Also, this release correctly tags the dashboard version so it accurately shows v1.3.7.2 instead of v1.3.6 in the UI! If your server stayed offline, simply re-run your update-amud.sh script to grab this new version and it should bring everything right back online!
v1.3.7.1: Auto-Update System & Version Notifications
This release adds the auto-update system and version notifications for the AMUD Dashboard.
Changes:
- System Settings Page: Added a new System tab under settings that displays version info, deployment type, and agent connection status.
- One-Click Update: Users on Proxmox and Native Linux can now update the server binary and UI assets directly from the dashboard.
- Docker Support: Docker deployments show update instructions in the System tab.
- Dashboard Banner: Added a top warning banner when a new release is available (can be dismissed for 24 hours).
- Update History: Renders a log of system update events in the new tab.
- Version Caching: Server-side caching for GitHub release data to prevent API rate limit issues.
- Audit Logs: Auto-update events are logged under the audit history.
v1.3.7: Wake-on-LAN Decoupling & Proxmox Fixes
Hey everyone! Just pushing out a quick but really important update today.
We've been mixing Wake-on-LAN (WOL) settings right into the standard application cards, and honestly it was starting to get a bit confusing for everyone. In this update, I've completely ripped WOL out of the regular Apps list. Network devices now live in their own dedicated database table (wol_devices) and have a completely separate management tab in the Settings panel. On the main dashboard, your WOL devices will now show up in a nice, clean "Power Controls" section instead of cluttering your web apps. (Don't worry, the update auto-migrates your existing MAC addresses so you won't lose anything!)
Also, if you've been having trouble getting native Proxmox LXC power actions to work, I finally tracked down the bug. The backend wasn't properly handing off the decrypted API token to the agent. This is now fully fixed! Just make sure your Proxmox token has the VM.PowerMgmt privilege if you want to start/stop containers from the UI.
Oh, and I've also seeded the documentation with 4 brand new pre-built Custom CSS themes (Dracula, Nord, Cyberpunk Neon, and Sunset Warm) so you can customize your dashboard's look right away!
Changelog:
- Refactor: Decoupled Wake-on-LAN hardware controls from standard application links.
- Feature: Added new "Power & WOL" Settings tab for managing network devices.
- Feature: Added dedicated "Power Controls" visual section to the dashboard.
- Fix: Resolved Proxmox API token transmission bug between
amud-serverandamud-agent. - Docs: Added a Custom Themes Gallery with 4 pre-built CSS themes.
- Docs: Updated Proxmox installation guide with
VM.PowerMgmtprivilege requirements.
Enjoy the update! Let me know if you run into any issues.
v1.3.6
v1.3.6 - Proxmox Socket Permissions & UI Adjustments
This release fixes host-container socket communication issues on Proxmox unprivileged LXC container deployments and resolves UI confusion regarding the Wake-on-LAN power button.
Fixes and Improvements:
- fix(proxmox): resolve host-container UDS socket permissions:
- The setup scripts (
setup-amud.shandsetup-hydrivax.sh) now change the ownership of the host socket directory/opt/amud/runto100000:100000. This allows unprivileged LXC guest containers (which map to host UID100000) to create and bind the Unix domain socket (amud.sock) for telemetry IPC.
- The setup scripts (
- fix(ui): conditional Wake-on-LAN power button:
- The application card grid now only displays the Wake-on-LAN
powerbutton if the application has a non-emptymac_addressconfigured, avoiding dead buttons on standard web application cards.
- The application card grid now only displays the Wake-on-LAN
- docs(troubleshooting): add socket permission error entry:
- Documented how to diagnose and resolve
Connection refused (os error 111)on active Proxmox installations introubleshooting.md.
- Documented how to diagnose and resolve