{"id":14447630,"url":"https://github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility","last_synced_at":"2025-08-28T03:31:22.146Z","repository":{"id":179750474,"uuid":"664006718","full_name":"Danilop95/Proxmox-Enhanced-Configuration-Utility","owner":"Danilop95","description":"Is a comprehensive and versatile Bash script designed to simplify and optimize the configuration and management of Proxmox Virtual Environment (VE) systems. ","archived":false,"fork":false,"pushed_at":"2025-08-04T16:32:27.000Z","size":894,"stargazers_count":415,"open_issues_count":6,"forks_count":27,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-08-04T18:27:40.046Z","etag":null,"topics":["automation-scripts","debian","gpu-passthrough","homelab-automation","kmu","pecu","proxmox-ve","sysadmin-scripts","tools"],"latest_commit_sha":null,"homepage":"http://pecu.tools/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Danilop95.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"Danilop95","patreon":"dvnilxp95","buy_me_a_coffee":"danilop95ps"}},"created_at":"2023-07-08T17:02:01.000Z","updated_at":"2025-07-29T04:01:15.000Z","dependencies_parsed_at":"2024-03-30T23:28:34.567Z","dependency_job_id":"930f34cf-9d37-4b2b-8f42-d7bdfd8b1452","html_url":"https://github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility","commit_stats":null,"previous_names":["danilop95/proxmox-local"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Danilop95/Proxmox-Enhanced-Configuration-Utility","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danilop95%2FProxmox-Enhanced-Configuration-Utility","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danilop95%2FProxmox-Enhanced-Configuration-Utility/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danilop95%2FProxmox-Enhanced-Configuration-Utility/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danilop95%2FProxmox-Enhanced-Configuration-Utility/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Danilop95","download_url":"https://codeload.github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Danilop95%2FProxmox-Enhanced-Configuration-Utility/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272430523,"owners_count":24933883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-28T02:00:10.768Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation-scripts","debian","gpu-passthrough","homelab-automation","kmu","pecu","proxmox-ve","sysadmin-scripts","tools"],"created_at":"2024-09-01T08:00:18.630Z","updated_at":"2025-08-28T03:31:22.140Z","avatar_url":"https://github.com/Danilop95.png","language":"Shell","funding_links":["https://github.com/sponsors/Danilop95","https://patreon.com/dvnilxp95","https://buymeacoffee.com/danilop95ps","https://www.patreon.com/c/DVNILXP95"],"categories":["🛠️ Tools \u0026 Utilities"],"sub_categories":["🛠️ Utility Scripts \u0026 Extensions"],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"doc/img/Logo-PECU.png\" width=\"150\" alt=\"PECU logo\"/\u003e\u003cbr\u003e\n  \u003cstrong\u003eProxmox Enhanced Configuration Utility\u003c/strong\u003e\u003cbr\u003e\n  \u003csub\u003e( PECU )\u003c/sub\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/actions\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/Danilop95/Proxmox-Enhanced-Configuration-Utility/release.yml?label=CI%20Status\u0026logo=github\u0026logoColor=white\u0026color=2E8B57\u0026style=for-the-badge\" alt=\"CI Status\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/wiki\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Wiki-Up%20to%20date-1E90FF?logo=read-the-docs\u0026logoColor=white\u0026style=for-the-badge\" alt=\"Wiki\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/Danilop95/Proxmox-Enhanced-Configuration-Utility?include_prereleases\u0026label=Latest%20Release\u0026logo=github\u0026logoColor=white\u0026color=orange\u0026style=for-the-badge\" alt=\"Latest release\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/Danilop95/Proxmox-Enhanced-Configuration-Utility?style=for-the-badge\u0026color=blue\u0026logo=gnu\u0026logoColor=white\" alt=\"License\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003chr style=\"border: 1px solid #444; margin: 20px 0;\"\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://buymeacoffee.com/danilop95ps\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/%20Buy%20Me%20a%20Coffee-Support%20PECU-FF813F?logo=buy-me-a-coffee\u0026logoColor=white\u0026style=for-the-badge\" alt=\"Buy Me a Coffee\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\n## Table of Contents\n- [Overview](#overview)\n- [Requirements \u0026 Compatibility](#requirements--compatibility)\n- [Quick Start](#quick-start)\n  - [Direct execution (recommended)](#direct-execution-recommended)\n  - [Offline / local install](#offline--local-install)\n- [What Is the Release Selector?](#what-is-the-release-selector)\n- [VM Templates System](#vm-templates-system)\n- [Features](#features)\n- [Community \u0026 Contribution](#community--contribution)\n- [Support the Project](#support-the-project)\n- [License](#license)\n\n---\n\n## Overview\n**PECU** is a single-shell utility that makes day-to-day Proxmox VE management\nas painless as possible:\n\n* one-line installer  \n* interactive menus for repositories, kernel flags, GPU passthrough, etc.  \n* reversible operations (backup / rollback built-in)  \n* auto-detects NVIDIA, AMD **and** Intel iGPUs out of the box  \n* **NEW**: declarative VM template system with CLI management tools\n* **NEW**: full Proxmox VE 9.x series support with enhanced compatibility and performance optimizations  \n\n---\n\n### Requirements \u0026 Compatibility\n\n\u003e The selector and the underlying scripts are designed for a **typical, up-to-date Proxmox host**.\n\u003e If your stack falls outside the matrix below, use at your own risk.\n\n|                              |                                                                                                                                                                                                                                           |\n| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **Platform**                 | \u003cimg src=\"https://img.shields.io/badge/Proxmox VE-7.x %2F 8.x %2F 9.x-000000?style=for-the-badge\u0026logo=proxmox\u0026logoColor=white\" alt=\"Proxmox 7 / 8 / 9 badge\"\u003e *(fully supports latest Proxmox VE 9.x with enhanced compatibility)*     |\n| **CPU arch**                 | \u003cimg src=\"https://img.shields.io/badge/x86--64-required-6A737D?style=for-the-badge\"\u003e                                                                                                                                                      |\n| **Privileges**               | \u003cimg src=\"https://img.shields.io/badge/root_or_sudo-required-E74C3C?style=for-the-badge\" alt=\"root badge\"\u003e                                                                                                                                                                                                              \n\n\u003e **Heads-up** PECU does **not** support ARM / Raspberry Pi builds of Proxmox at this time.\n\u003e Community ports are welcome, but official testing is x86-64 only.\n\n---\n\n\n## Quick Start\n\n### Direct execution (recommended)\n\n\u003e **New in 2025-05** – a tiny selector script fetches **all** tagged releases and  \n\u003e lets you launch whichever version (Stable, Beta, Experimental…) you want.\n\n```bash\nbash \u003c(curl -sL \\https://raw.githubusercontent.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/refs/heads/main/scripts/pecu_release_selector.sh)\n```\n\n\n\n#### Release Selector\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/img/pecu_release_selector.png\" width=\"90%\" alt=\"PECU Release Selector - Standard View\"\u003e\n\u003c/p\u003e\n\n#### Release Selector - Premium Interface\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/img/pecu_release_selector-premium.png\" width=\"90%\" alt=\"PECU Release Selector - Premium Interface\"\u003e\n\u003c/p\u003e\n\n#### PECU-Script\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/efeeff90-543b-4905-9b42-dbcf10647129\" width=\"90%\" alt=\"PECU Script Interface\"\u003e\n\u003c/p\u003e\n\n---\n\n\n\n### Offline / local install\n\nAll releases ship a `.tar.gz` bundle:\n\n```bash\nVERSION=\"v2025.04.14\"                     # pick any tag\nwget https://github.com/Danilop95/Proxmox-Enhanced-Configuration-Utility/releases/download/$VERSION/PECU-${VERSION#v}.tar.gz\ntar -xzf PECU-${VERSION#v}.tar.gz\ncd PECU-${VERSION#v}/src\nchmod +x proxmox-configurator.sh\nsudo ./proxmox-configurator.sh\n```\n\n---\n\n## What Is the Release Selector?\n\n* `pecu_release_selector.sh` is a **new ASCII-driven menu** I built over the last few months.\n  It talks directly to the GitHub API, parses every tag, and sorts them by the\n  custom **`PECU-Channel`** labels I introduced (Stable, Beta, Preview, Experimental, Nightly).\n  The channels keep the list tidy and make it obvious which way the project is heading.\n* Marking a build as **Experimental** instantly flags it orange in the menu,\n  so I can ship rough prototypes or quick-fix versions without confusing people who only want Stable releases.\nlector.\n* `pecu_release_selector_old.sh` still exists **only as a shim** that `exec`s the new script — **it will be removed on _05 July 2025_**.\n\n---\n\n## VM Templates System\n\n**New in 2025.08** – PECU now includes a declarative VM template system with CLI management tools.\n\n### Template Features\n\n* **Declarative YAML templates** for common VM configurations (Windows Gaming, Linux Workstation, Media Server)\n* **JSON Schema validation** ensuring template consistency and correctness\n* **CLI management** with `templatectl.sh` for listing, validating, rendering, and applying templates\n* **Safe rendering** – view `qm` commands before execution with `--dry-run`\n* **Storage flexibility** – supports `local-lvm`, `local`, and auto-detection\n* **CI/CD ready** – GitHub Actions workflow for automatic validation\n\n### Quick Template Usage\n\n```bash\n# List available templates\nsrc/tools/templatectl.sh list --channel Stable\n\n# Validate all templates\nsrc/tools/templatectl.sh validate templates/\n\n# Preview commands (safe, no execution)\nsrc/tools/templatectl.sh render templates/windows/windows-gaming.yaml \\\n  --vmid 200 --storage-pool local-lvm --dry-run\n\n# Apply template (creates VM)\nsudo src/tools/templatectl.sh apply templates/windows/windows-gaming.yaml \\\n  --vmid 200 --storage-pool local-lvm\n```\n\n### Available Templates\n\n| Template | Channel | OS Type | Description |\n|----------|---------|---------|-------------|\n| `windows-gaming` | Stable | win11 | Windows 11 VM optimized for gaming with GPU passthrough support |\n| `linux-workstation` | Stable | l26 | Linux workstation for development and productivity |\n| `media-server` | Stable | l26 | Lightweight Linux VM for media services (Plex, Jellyfin, etc.) |\n\nSee [templates/README.md](templates/README.md) for detailed documentation.\n\n---\n\n## Features\n\n| Category              | Highlights                                                                               |\n| --------------------- | ---------------------------------------------------------------------------------------- |\n| **Repositories**      | Backup / restore `sources.list`, add \"non-subscription\" repo, edit with Nano.            |\n| **GPU Passthrough**   | Wizard-style setup for NVIDIA, AMD, Intel; supports driverctl override; rollback option. |\n| **Kernel Tweaks**     | Add `pcie_acs_override`, `video=efifb:off`, or custom flags with risk prompts.           |\n| **Multi-GPU**         | Detects multiple GPUs and lets you choose the one to passthrough.                        |\n| **Intel iGPU (test)** | Experimental automatic isolation of iGPU functions.                                      |\n| **VM Templates**      | Declarative YAML templates with CLI tools for common VM configurations.                  |\n| **Template Validation** | JSON Schema validation and CI/CD integration for template quality assurance.           |\n| **Proxmox 9.x**       | Full support for the latest Proxmox VE 9.x series with enhanced compatibility and performance optimizations. |\n| **Logging**           | Detailed `/var/log/pecu.log` with timestamps and automatic log rotation.                 |=\"center\"\u003e\n\n---\n\n---\n\n\n## Community \u0026 Contribution\n\nPECU grows through clear bug reports, well-scoped ideas, and peer-reviewed code.  \nIf you would like to get involved, choose the channel that best suits your needs:\n\n| Purpose | Channel |\n|---------|---------|\n| **Bug reports / feature requests** | Use the GitHub [Issue tracker](../../issues). Please include the tag you were running, a concise description, and any relevant console output. |\n| **Code contributions** | Fork the repository, branch from `main`, run `shellcheck`, keep commits focused, then open a Pull Request. |\n| **Technical discussion and quick feedback** | Join the PECU Discord server: \u003chttps://discord.gg/euQTVNc2xg\u003e. The server is used for informal Q\u0026A, brainstorming future features, and sharing configuration tips. |\n| **Sustained support and early-access builds** | Patreon memberships are available at \u003chttps://www.patreon.com/c/DVNILXP95\u003e. Patrons receive preview builds, detailed implementation notes, and can vote on the development roadmap. |\n\n---\n\n### Support the Project\n\nIf PECU saves you time in daily operations and you wish to accelerate its development, consider a one-off donation:\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://buymeacoffee.com/danilop95ps\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\"\n         alt=\"Buy Me a Coffee\" height=\"37\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nYour support funds additional test hardware.\n\n\n## License\n\n**GPL-3.0** – see [LICENSE](LICENSE).\nFeel free to fork, adapt, and share under the same terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDanilop95%2FProxmox-Enhanced-Configuration-Utility","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDanilop95%2FProxmox-Enhanced-Configuration-Utility","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDanilop95%2FProxmox-Enhanced-Configuration-Utility/lists"}