No description
  • TypeScript 100%
Find a file
2026-01-06 18:18:01 -05:00
.cursor/rules Initial proxmux implementation 2025-12-30 21:08:00 -05:00
.github/workflows Move Homebrew update into release workflow 2026-01-02 15:01:25 -05:00
src Add --version flag to CLI 2026-01-06 18:18:01 -05:00
.gitignore Initial proxmux implementation 2025-12-30 21:08:00 -05:00
bun.lock Add cross-platform binary build scripts 2025-12-31 12:30:46 -05:00
CHANGELOG.md Bump version to 0.4.0 2026-01-05 21:27:08 -05:00
CLAUDE.md Rewrite CLAUDE.md with project-specific guidance 2026-01-01 21:29:03 -05:00
LICENSE Prepare for open source release 2025-12-30 22:34:15 -05:00
package.json Bump version to 0.4.0 2026-01-05 21:27:08 -05:00
README.md Add API token permission requirements to README 2026-01-05 21:24:57 -05:00
tsconfig.json Initial proxmux implementation 2025-12-30 21:08:00 -05:00

proxmux

A terminal UI for managing Proxmox VE, built with Ink and Bun.

image

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/k or 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/proxmux

npm

Requires Bun runtime.

bunx proxmux

Or install globally:

bun install -g proxmux
proxmux

Standalone 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 platform

From source

# Clone the repository
git clone https://github.com/roshie548/proxmux.git
cd proxmux

# Install dependencies
bun install

# Run
bun run start

Configuration

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

  1. Go to Datacenter > Permissions > API Tokens
  2. Click Add
  3. Select user (e.g., root@pam)
  4. Enter a Token ID (e.g., proxmux)
  5. Uncheck "Privilege Separation" to inherit the user's permissions
  6. 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, and Datastore.Audit on / (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 --noEmit

License

MIT License - see LICENSE for details.