Manage your cluster,
from one desktop app.

Clustri connects to Proxmox VE and PBS so you can manage nodes, VMs, containers, storage, backups, and consoles without keeping a browser tab open.

· Tauri 2/ · Tailwind v4/ licensed

Dashboard preview with live metrics and task updates.

When a node drops,
requests keep moving.

Clustri tries the primary endpoint, then configured fallbacks and discovered cluster nodes. Stop a node on the right to watch the request move.

connected failover failed Click a node or use a button
Request order: primary → fallbacks → discovered. A connection, timeout, DNS, or transport failure moves the request to the next endpoint.

request → primary endpoint → retry if needed

Connected
status: connected, pve1 answered ~18 ms

Click a node row to stop or restore it. Requests move to the next endpoint.

Keep credentials
on your machine.

Clustri stores API tokens in the OS keyring, not in a file. It pins self-signed certificates by SHA-256 on first connect and checks them on later connections.

•Token mode: PVEAPIToken / PBSAPIToken header
•Password mode: ticket auth + CSRFPreventionToken
•Fallbacks skip TOFU during home-lab failover; the primary endpoint stays pinned.
SHA-256 fingerprint: pinned Pinned

A3:0F:71:C9:52:B8:4D:E0:11:2A:7F:9C:63:D4:18:0B

OS keyring rustls · sha2 · x509-cert no telemetry

Clustri captures the fingerprint on first connect and checks it later. Accept a rotated certificate for one connection.

Tokens

Keyring only

Certs

TOFU SHA-256

Transport

rustls

The cluster keeps running.
Your management session should stay with it.

Clustri sends requests through the Proxmox API. If a node stops answering, it tries the next endpoint and shows you which node answered.

Open a console on any guest.

Use noVNC for VMs and xterm.js for containers. Fullscreen mode and keyboard passthrough keep the session in the app.

Fullscreen Ctrl+Alt+Del

root@pve1 · xterm

Ctrl+Alt+Del
root@pve1:~# pct enter 101
root@db-01:~# uptime
23:41:05 up 9 days, 4:21, 1 user, load average: 0.42, 0.38, 0.35
root@db-01:~# █

Controls for the work you repeat.

WebSocket events update task status. If events stop, polling takes over. Press to find a command. The tray keeps common actions close.

Cmd / Ctrl + K Command palette
WebSocket Live task and event updates
Tray menu Show / hide · connections · quit
10s polling Connection status fallback

Manage Proxmox resources,
in a desktop window.

Clustri runs as a native Tauri app. Switch between VMs, consoles, and backups while WebSocket events or 10-second polling refreshes the data.

Virtual Machines: 4 VMs across the cluster

Clustri VM list showing running and stopped VMs

Filter by node, type, or status. Start, stop, migrate, or open a console for QEMU and LXC guests.

Use noVNC for VMs and xterm.js for CTs, with fullscreen, resize, and Ctrl+Alt+Del passthrough.

Review jobs, groups, and snapshots. Verify archives, preview prune, run GC, or download through the OS dialog.

How Clustri reaches Proxmox.

The React frontend calls Rust commands through Tauri IPC. The Rust backend sends each request to Proxmox over HTTPS.

React frontend

TanStack Query · Zustand

Geist · JetBrains Mono

React 19

Rust backend

ConnectionManager

endpoint rotation · retry

TOFU cert pinning

OS keyring

Proxmox API

/api2/json

nodes · cluster · vms

self-signed TLS

POST /nodes/pve/qemu/100/status/start

https://192.168.1.10:8006/api2/json/nodes/pve/qemu/100/status/start

PVEAPIToken PVEAuthCookie + CSRFPreventionToken

Clustri keeps an ordered list of unique endpoints: primary, fallbacks, then discovered nodes. Connection, timeout, DNS, or transport errors trigger the next attempt.

connected failover failed
0 telemetry disabled
0 runs against your infrastructure
0 httpmock · rcgen · tempfile
0 Linux · macOS · Windows

Packages are not published yet.

Clustri is under active development. Linux, macOS, and Windows packages are next.