proxmux
v0.4.0
Published
Terminal UI for managing Proxmox VE
Maintainers
Readme
proxmux
A terminal UI for managing Proxmox VE, built with Ink and Bun.
Features
- Dashboard - Overview of cluster nodes with CPU, memory, and disk usage
- VM Management - List, start, stop, and reboot virtual machines
- Container Management - List, start, stop, and reboot LXC containers
- Console Access - SSH directly into containers via
pct console - Storage View - View storage pools and usage
- Detail View - Detailed info for VMs/containers including network, resources, and config
- Vim-style Navigation - Use
j/kor arrow keys to navigate - Responsive UI - Adapts to terminal size
Requirements
- Proxmox VE with API access
- API token (recommended) or user credentials
Installation
Homebrew (macOS/Linux)
brew install roshie548/tap/proxmuxnpm
Requires Bun runtime.
bunx proxmuxOr install globally:
bun install -g proxmux
proxmuxStandalone Binary
Download the latest binary for your platform from Releases:
- macOS Apple Silicon:
proxmux-darwin-arm64 - macOS Intel:
proxmux-darwin-x64 - Linux x64:
proxmux-linux-x64 - Linux ARM64:
proxmux-linux-arm64 - Windows:
proxmux-windows-x64.exe
chmod +x proxmux-*
./proxmux-darwin-arm64 # or your platformFrom source
# Clone the repository
git clone https://github.com/roshie548/proxmux.git
cd proxmux
# Install dependencies
bun install
# Run
bun run startConfiguration
Create a config file at ~/.config/proxmux/config.json:
{
"host": "https://your-proxmox-host:8006",
"user": "root@pam",
"tokenId": "your-token-id",
"tokenSecret": "your-token-secret"
}Creating an API Token in Proxmox
- Go to Datacenter > Permissions > API Tokens
- Click Add
- Select user (e.g.,
root@pam) - Enter a Token ID (e.g.,
proxmux) - Uncheck "Privilege Separation" to inherit the user's permissions
- Copy the token secret (shown only once)
Note: If you leave "Privilege Separation" checked, you must manually assign permissions to the token under Datacenter > Permissions. The token needs at minimum
VM.Audit,VM.PowerMgmt, andDatastore.Auditon/(or specific paths) to list and manage VMs/containers.
Environment Variables
Alternatively, use environment variables:
export PROXMOX_HOST="https://your-proxmox-host:8006"
export PROXMOX_USER="root@pam"
export PROXMOX_TOKEN_ID="your-token-id"
export PROXMOX_TOKEN_SECRET="your-token-secret"Keyboard Shortcuts
Global
| Key | Action |
|-----|--------|
| 1-4 | Switch views (Dashboard, VMs, Containers, Storage) |
| Tab | Cycle through views |
| q | Quit |
| Ctrl+C | Quit |
Navigation
| Key | Action |
|-----|--------|
| j / ↓ | Move down |
| k / ↑ | Move up |
| Enter | Open detail view / Confirm action |
| Esc | Go back / Cancel |
Actions
| Key | Action |
|-----|--------|
| r | Refresh data |
| s | Start VM/Container |
| x | Stop VM/Container (with confirmation) |
| R | Reboot VM/Container (with confirmation) |
Detail View
| Key | Action |
|-----|--------|
| j / k | Navigate actions |
| Enter | Execute selected action |
| Esc / q | Go back to list |
Console (Containers)
Select "Console (SSH)" in the detail view to open a pct console session. You'll see the container's login prompt. Press Ctrl+] or type exit to return to proxmux.
Development
# Run with hot reload
bun run dev
# Type check
bun run --bun tsc --noEmitLicense
MIT License - see LICENSE for details.
