DEV Community

Youssef Boubli
Youssef Boubli

Posted on

Install AMUD on Proxmox in One Command (No Docker Required)

AMUD Dashboard screenshot


BODY — copy from here ↓

Series: Building AMUD — Part 2 of 12
Previous: Why I Ditched Heavy Dashboards and Built My Own in Pure Rust

If you run Proxmox, you probably have 20+ services and no single place to open them. Most dashboards assume Docker. AMUD (Advanced Modern Unified Dashboard) is different: native Rust binaries, ~26–35MB RAM idle, and a one-line Proxmox installer.

Quick facts

Stack Rust, Axum, Tokio, SQLite
Config Web UI only — no YAML
RAM ~26–35MB (server + agent)
GitHub https://github.com/boubli/AMUD-Dashboard
Docs https://boubli.github.io/AMUD-Dashboard/docs/installation/proxmox

How it works on Proxmox

AMUD splits into two tiny daemons:

  1. amud-agent — runs on the Proxmox host. Reads CPU/RAM/disk from /proc, queries the Proxmox API for LXC/VM status, writes metrics to a Unix socket.
  2. amud-server — runs in a Debian 12 LXC. Serves the web UI on port 8000, stores config in SQLite, streams live telemetry over WebSockets.

No Docker layer. No PHP. No Node runtime sitting idle.

One-command install

SSH into your Proxmox host as root and run:

curl -sSL https://raw.githubusercontent.com/boubli/AMUD-Dashboard/main/setup-amud.sh | bash
Enter fullscreen mode Exit fullscreen mode

The script will:

  • Install amud-agent as a systemd service on the host
  • Create an LXC named amud-dashboard (1 CPU, 256MB RAM, 4GB disk)
  • Bind-mount /opt/amud/run so server and agent share the IPC socket
  • Deploy amud-server and print the container IP when done

First login

Open:

http://<LXC-IP>:8000/
Enter fullscreen mode Exit fullscreen mode

Default credentials:

  • Username: admin
  • Password: password

Change the password immediately under Settings → Admin Profile.

Enable live LXC status (green/red badges)

Without a Proxmox API token, host metrics work but app cards stay on CHECKING...

Quick CLI setup on the Proxmox host:

pveum role add AMUDAgentRole -privs "VM.Audit Sys.Audit VM.PowerMgmt"
pveum group add amud-group
pveum user add amud@pve -group amud-group -comment "Telemetry Agent User"
pveum aclmod / -group amud-group -role AMUDAgentRole
pveum user token add amud@pve amud-token --privsep 0
Enter fullscreen mode Exit fullscreen mode

Copy the token line that looks like:

PVEAPIToken=amud@pve!amud-token=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Enter fullscreen mode Exit fullscreen mode

Paste it in AMUD → Settings → Proxmox VE.

Now link app cards to container IDs and watch RUNNING / STOPPED update in real time. You can start/stop containers from the dashboard if you included VM.PowerMgmt.

Prefer Docker?

AMUD supports Docker Compose too — but on Proxmox, native LXC is the lightest path. Docker guide: https://boubli.github.io/AMUD-Dashboard/docs/installation/docker

What's next

Part 3: Why I replaced Homepage YAML with a SQLite UI.

⭐ If this helped: https://github.com/boubli/AMUD-Dashboard

Questions welcome in GitHub Discussions.

Top comments (0)