Loading...

Proxmox-Enhanced-Configuration-Utility

A comprehensive and versatile Bash script designed to simplify and optimize the configuration and management of Proxmox Virtual Environment (VE) systems.

334 Stars
19 Forks
12 Watchers

Overview

The Proxmox-Enhanced-Configuration-Utility (PECU) is a powerful Bash script designed to streamline the configuration and management of Proxmox VE environments. This utility provides an interactive menu system for performing key tasks, such as managing package repositories and configuring GPU passthrough, simplifying Proxmox setup and optimization for diverse use cases.

Proxmox VE GPU Passthrough System Configuration Automation Homelab

Script Demos

Release Selector
Main Menu
GPU Passthrough

PECU Release Selector

The Release Selector allows you to choose which version of PECU to run, including stable releases and pre-releases.

pecu_release_selector.sh
=========================================== Proxmox Enhanced Configuration Utility Version Selector =========================================== Select a PECU version to execute: ----------------------------------- 1) v2025.04.14 (Stable) [RECOMMENDED] - Published: 2025-04-14T10:30:00Z 2) v2025.03.03 (Stable) - Published: 2025-03-03T15:45:00Z 3) v2025.02.15 (Stable) - Published: 2025-02-15T09:20:00Z 4) v2025.01.20-beta (Pre-release) - Published: 2025-01-20T14:10:00Z 0) Exit ----------------------------------- Enter the option number: 1 Selected version: v2025.04.14 Fetching and executing PECU from GitHub...

GPU Passthrough Configuration

PECU simplifies the complex process of setting up GPU passthrough for virtual machines, with support for NVIDIA, AMD, and Intel GPUs.

GPU Passthrough Configuration
================================================= | GPU Passthrough Configuration Options | ================================================= Please select a method for GPU passthrough: 1) Classic (edit vfio.conf and blacklists) 2) Driverctl (automatic persistent override) ------------------------------------------------- Choose a passthrough method (1 or 2): 2 Using Driverctl Method (Automatic Persistent Override) ================================================= | Checking and Installing driverctl | ================================================= driverctl installed successfully. Would you like to select a GPU manually (M) or skip listing (S)? [M/S]: M ================================================= | Available Graphics Devices | ================================================= 01:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3070] (rev a1) 02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] (rev c1) Enter the PCI address (e.g., 0000:01:00.0) you want to override: 0000:01:00.0 Binding 0000:01:00.0 to vfio-pci via driverctl... Detected NVIDIA GPU. Blacklisting nouveau and nvidia... Kernel configuration applied (initramfs updated). Do you want to restart now? (y/n):

Features

Dependency Installation

Backup and restore sources.list file, and edit repositories directly within the script interface.

GPU Passthrough Configuration

Set up GPU passthrough to assign dedicated graphics cards to virtual machines, with rollback functionality.

System Configuration Checks

Verifies if the Proxmox package repositories are correctly configured and displays IOMMU and MSI options.

Multi-GPU Support

Detects and displays details for NVIDIA, AMD, and Intel GPUs, with tailored options for different GPU types.

Proxmox Compatibility

Compatible with Proxmox VE 7.x and 8.x versions, ensuring broad support across environments.

Rollback Functionality

Safely undo configurations with built-in rollback capabilities to restore previous system states.

Installation

Choose your installation method

You can run the script directly from your Proxmox server or clone the repository

To run the script directly from the internet, use the following command:

bash <(curl -sL https://raw.githubusercontent.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/refs/heads/main/scripts/pecu_release_selector.sh)

Note: This command requires an active internet connection and is specific to Linux systems with Bash and Curl installed.

Clone the Repository:

git clone https://github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility.git
cd Proxmox-Enhanced-Configuration-Utility

Set Execution Permissions:

chmod +x proxmox-configurator.sh

Run the Script:

sudo ./proxmox-configurator.sh

Releases

v2025.04.14

Released 2 days ago

Pre-release

What's New in This Update:

This update brings several improvements and bug fixes to enhance the performance and reliability of the Proxmox Enhanced Configuration Utility (PECU). Key changes include:

  • Performance Optimizations: Overall improvements for faster execution and smoother operation.
  • Enhanced Error Handling: Better diagnostics with detailed log messages to help troubleshoot issues.
  • Driverctl Passthrough Method: New support for GPU passthrough using driverctl, providing an alternative to the classic configuration approach.
  • Advanced Kernel Tweaks: New submenu to easily append kernel parameters for customized system performance and compatibility.
  • User Interface Enhancements: Updated CLI appearance with a loading banner, spinner, and clear prompts.

How to Update

You can update your PECU installation using the source code provided in this release. There are two ways to run this version:

Direct Execution (Latest Version):

bash <(curl -sL https://raw.githubusercontent.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/v2025.04.14/proxmox-configurator.sh)

Local Installation:

wget https://github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/releases/download/v2025.04.14/PECU-2025.04.14.tar.gz && \ tar -xzvf PECU-2025.04.14.tar.gz && \ cd PECU-2025.04.14 && \ chmod +x proxmox-configurator.sh && \ sudo ./proxmox-configurator.sh

Important Note

This release is a test release — it's the first time we're implementing automated releases. We apologize for any inconvenience caused by this initial notification. We are working to improve the release process for future versions.

v2025.03.03

Released March 3, 2025

Latest Stable

What's New in This Update

This update brings several improvements and bug fixes to enhance the performance and reliability of the Proxmox Enhanced Configuration Utility (PECU). Detailed changes include performance optimizations and improved error handling for a smoother experience.

How to Update

You can update your PECU installation using the source code provided in this release. There are two ways to run this version:

Direct Execution (Latest Version):

bash <(curl -sL https://raw.githubusercontent.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/v2025.03.03/proxmox-configurator.sh)

Local Installation:

wget https://github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/releases/download/v2025.03.03/PECU-2025.03.03.tar.gz && \ tar -xzvf PECU-2025.03.03.tar.gz && \ cd PECU-2025.03.03 && \ chmod +x proxmox-configurator.sh && \ sudo ./proxmox-configurator.sh

GitHub Integration

Latest Release

Information about the most recent version

v2025.04.14

Pre-release
v2025.04.14
2025-04-14

Latest release of Proxmox-Enhanced-Configuration-Utility with improved GPU detection and rollback functionality

Contributors

People who have contributed to the project

Support the Project

Buy Me A Coffee

Support the development with a coffee

Buy Me A Coffee

Patreon

Become a patron and support ongoing development

Support on Patreon