proxmox-tui

module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2025 License: MIT

README ΒΆ

Proxmox TUI Logo

Proxmox TUI

A powerful Terminal User Interface for Proxmox VE clusters

Features β€’ Screenshots β€’ Installation β€’ Configuration β€’ Authentication β€’ Usage

GitHub release License

πŸš€ Overview

Proxmox TUI brings lightning-fast cluster management directly to your terminal. Built with Go, it combines CLI speed with GUI-like navigation.

Key Features:

  • πŸš€ Fast: Intelligent caching for responsive performance
  • πŸ–₯️ Complete Management: VMs, containers, nodes, and resources
  • πŸ” Secure: API token or password authentication
  • 🐚 Integrated Shells: SSH directly to nodes, VMs, and containers
  • πŸ–±οΈ VNC Support: Browser-based console access
  • πŸ“œ Community Scripts: Install Proxmox community scripts directly

πŸ“Έ Screenshots

Proxmox TUI Node View
Node Management View - Detailed node information and status

Proxmox TUI Guest View
Guest Management View - Real-time monitoring of VMs and containers

πŸ”§ Requirements

  • Go (version 1.20 or later recommended)
  • Access to a Proxmox VE cluster
  • SSH access to nodes/guests (for shell functionality)

πŸ“¦ Installation

From Source

# Clone the repository
git clone https://github.com/devnullvoid/proxmox-tui.git
cd proxmox-tui

# Build the application
go build -o proxmox-tui ./cmd/proxmox-tui

# Copy example config
cp configs/config.yml.example config.yml

# Edit with your Proxmox details
$EDITOR config.yml

# Run the application
./proxmox-tui -config config.yml

Pre-compiled Binaries

Pre-compiled binaries for various platforms are available on the Releases page.

Download and Install
  1. Go to the Releases page
  2. Download the appropriate binary for your platform:
    • Linux AMD64: proxmox-tui-linux-amd64.tar.gz
    • Linux ARM64: proxmox-tui-linux-arm64.tar.gz
    • macOS Intel: proxmox-tui-darwin-amd64.tar.gz
    • macOS Apple Silicon: proxmox-tui-darwin-arm64.tar.gz
    • Windows: proxmox-tui-windows-amd64.zip
  3. Extract the archive:
    # For Linux/macOS
    tar -xzf proxmox-tui-*.tar.gz
    
    # For Windows
    # Extract using your preferred zip tool
    
  4. Make executable (Linux/macOS only):
    chmod +x proxmox-tui-*
    
  5. Run the application:
    ./proxmox-tui-* -config /path/to/your/config.yml
    

βš™οΈ Configuration

Proxmox TUI offers flexible configuration through YAML files, environment variables, and command-line flags. Configuration follows this precedence order (highest to lowest):

  1. Command-line flags
  2. Configuration file
  3. Environment variables

Configuration File

Create a config.yml file with your Proxmox connection details:

# Basic connection settings
addr: "https://your-proxmox-host:8006"
insecure: false  # Set to true to skip TLS verification (not recommended for production)

# Authentication (choose one method)
user: "your-api-user"
realm: "pam"

# Method 1: Password authentication
password: "your-password"

# Method 2: API Token authentication (recommended)
token_id: "your-token-id"
token_secret: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

# Additional settings
ssh_user: "your-ssh-user"
debug: false
cache_dir: "~/.proxmox-tui/cache"

πŸ” Authentication

Proxmox TUI supports two authentication methods:

Username/Password Authentication

Uses Proxmox's ticket-based authentication with automatic renewal every 2 hours. Simple to set up but requires storing your password.

Uses Proxmox API tokens for enhanced security with these benefits:

  • No expiration (unless manually revoked)
  • Granular permission control
  • Better for automation and long-running sessions
  • More secure than password-based authentication
Creating API Tokens in Proxmox
  1. Log into your Proxmox web interface
  2. Navigate to Datacenter β†’ Permissions β†’ API Tokens
  3. Click Add to create a new token
  4. Set the User (e.g., root@pam)
  5. Enter a Token ID (e.g., proxmox-tui)
  6. Decide whether to check Privilege Separation (unchecked gives the token the same permissions as the user)
  7. Click Create
  8. Important: Copy both the Token ID and Secret as the secret will only be shown once

πŸ–₯️ Usage

Run Proxmox TUI with your configuration file:

./proxmox-tui -config /path/to/your/config.yml

Keyboard Navigation

  • F1: View Nodes
  • F2: View Guests
  • /: Search/Filter
  • S: Open Shell
  • V: Open VNC Console
  • C: View Community Scripts
  • M: Open Menu
  • Tab/Next Tab: Switch between tabs
  • Q: Quit

🀝 Contributing

Contributions are welcome! Feel free to submit issues or pull requests.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Directories ΒΆ

Path Synopsis
cmd
proxmox-tui command
internal
adapters
Package adapters provides adapter implementations that bridge internal components with the external API package interfaces, enabling dependency injection and clean architecture patterns.
Package adapters provides adapter implementations that bridge internal components with the external API package interfaces, enabling dependency injection and clean architecture patterns.
logger
Package logger provides a comprehensive logging system designed for TUI applications.
Package logger provides a comprehensive logging system designed for TUI applications.
ssh
ui
vnc
pkg
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL