A small Axum and Leptos dashboard that reads live metrics from a Network UPS Tools (NUT) server.
At the moment this is more of a playground: advancing my Rust knowledge, exploring AI-assisted coding, learning a bit of web development, etc.
The initial version was done with chat-based Gemini, some changed via Codex, some via Antigravity (agy) with the free plan.
The application reads its NUT connection settings from environment variables. All variables are optional and retain the original defaults.
| Variable | Default | Description |
|---|---|---|
NUT_HOST |
192.168.2.1 |
NUT server hostname or IP address |
NUT_PORT |
3493 |
NUT server TCP port |
NUT_UPS_NAME |
qnapups |
UPS name configured in upsd |
NUT_TIMEOUT_SECONDS |
5 |
Maximum duration of a complete NUT request |
Example:
NUT_HOST=127.0.0.1 \
NUT_PORT=3493 \
NUT_UPS_NAME=ups \
NUT_TIMEOUT_SECONDS=3 \
cargo runThe dashboard listens on http://127.0.0.1:3000.
cargo test --all-targets
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --all -- --check