Proxmox VE VPS And Cloud For WHMCS
(→IP Manager Integration) |
(→Logs) |
||
(201 intermediate revisions by one user not shown) | |||
Line 2: | Line 2: | ||
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Proxmox VE VPS & Cloud For WHMCS Module."></meta> | <meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Proxmox VE VPS & Cloud For WHMCS Module."></meta> | ||
− | =About [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps-and-cloud Proxmox VE VPS & Cloud For WHMCS]= | + | <h4 style="color: #ff0000; font-weight:bold; text-align:center;">This article is currently being updated - you may encounter broken links, outdated descriptions, or missing images. |
+ | </h4> | ||
+ | |||
+ | <h4 style="color: orange; font-weight:bold; text-align:center;"> | ||
+ | Additionally, the product has undergone major changes, including a name change and relocation of the license file to the addon.<br/> | ||
+ | Please note: You will need to reissue your license for the changes to take effect.<br/> | ||
+ | We apologize for any inconvenience and appreciate your understanding. | ||
+ | </h4> | ||
+ | |||
+ | =About [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps-and-cloud Proxmox VE VPS & Cloud For WHMCS WHMCS]= | ||
{| | {| | ||
− | |style="padding: 10px 0px 10px 0px;"|'''Proxmox VE VPS & Cloud For WHMCS''' is a powerful module that combines the features of Proxmox VE VPS and Proxmox VE Cloud into a single, all-in-one solution.<br/> It allows you to automatically provision virtual servers and give clients the flexibility to create, remove, and resize their instances within defined resource limits.<br/> Your customers can manage backups, firewall settings, and access noVNC, SPICE, or Xterm.js console, directly in WHMCS. | + | |style="padding: 10px 0px 10px 0px;"|'''Proxmox VE VPS & Cloud For WHMCS''' is a powerful module that combines the features of Proxmox VE VPS and Proxmox VE Cloud into a single, all-in-one solution.<br/> It allows you to automatically provision virtual servers and give clients the flexibility to create, remove, and resize their instances within defined resource limits.<br/> Your customers can manage backups, firewall settings, and access noVNC, SPICE, or Xterm.js console, directly in WHMCS.<br/> |
ModulesGarden is official [https://www.proxmox.com/en/partners/all/partner/modulesgarden '''Proxmox Solution Partner'''] and this module is recommended by '''Proxmox Server Solutions GmbH.''' | ModulesGarden is official [https://www.proxmox.com/en/partners/all/partner/modulesgarden '''Proxmox Solution Partner'''] and this module is recommended by '''Proxmox Server Solutions GmbH.''' | ||
|} | |} | ||
Line 10: | Line 19: | ||
*'''Admin Area Features:''' | *'''Admin Area Features:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ Create/Suspend/Unsuspend/Terminate | + | |style="padding: 10px 0px 0px 30px;"|✔ Create/Suspend/Unsuspend/Terminate Service: |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ VPS Type Product With Single VM Machine | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Cloud Type Product With Multiple VM Machines Created Within Defined Limits | ||
|} | |} | ||
{| | {| | ||
Line 96: | Line 111: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 45px;"|✔ List Per VPS And Cloud | |style="padding: 0px 0px 0px 45px;"|✔ List Per VPS And Cloud | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ VMs List | ||
|} | |} | ||
{| | {| | ||
Line 101: | Line 119: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ | + | |style="padding: 0px 0px 0px 45px;"|✔ Cleaner - Manage VM Not Existing In Your WHMCS |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Templates - Convert KVM VPS To KVM Template | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Settings | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ | + | |style="padding: 0px 0px 0px 45px;"|✔ Groups |
|} | |} | ||
{| | {| | ||
Line 131: | Line 155: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Configure App Templates: |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px | + | |style="padding: 0px 0px 0px 45px;"|✔ Applications |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px | + | |style="padding: 0px 0px 0px 45px;"|✔ KVM/LXC Templates |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px | + | |style="padding: 0px 0px 0px 45px;"|✔ ISO Images |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px | + | |style="padding: 0px 0px 0px 45px;"|✔ KVM/LXC Archives |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Create And Manage Custom Cloud-Init Scripts Per App Template |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Create Application Groups And Assign App Templates | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Define VM IDs Ranges Per Server | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Set Minimum VM ID For Product Without ID Ranges Defined | ||
|} | |} | ||
{| | {| | ||
Line 153: | Line 186: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Configure Tasks Repetition Threshold And Email Notifications | |style="padding: 0px 0px 0px 30px;"|✔ Configure Tasks Repetition Threshold And Email Notifications | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Configure Backup Tasks Limitation And File Restoration Settings | ||
|} | |} | ||
{| | {| | ||
Line 158: | Line 194: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Set Admin Area And Proxmox VE Widget Features |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Configure Scheduled Backups And Firewall |
|} | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ View And Manage Logs | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ View Queue Of Scheduled Tasks | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Configure Cron Scheduler Settings | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Customize Module Language Files With "Translations" Tool | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 30px;"|✔ Manage Media Library With Logotypes For App Templates | ||
+ | |} | ||
+ | |||
*'''Proxmox VE Widget''' | *'''Proxmox VE Widget''' | ||
{| | {| | ||
Line 176: | Line 228: | ||
|style="padding: 0px 0px 10px 30px;"|✔ View Node Resources | |style="padding: 0px 0px 10px 30px;"|✔ View Node Resources | ||
|} | |} | ||
+ | |||
*'''Client Area Features:''' | *'''Client Area Features:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ View Server Status, Details And Statistics | + | |style="padding: 10px 0px 0px 30px;"|✔ Create/Manage/View Server Status, Details And Statistics: |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ VPS Type Product With Single VM Machine | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Cloud Type Product With Multiple VM Machines Created Within Available Limits: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 60px;"|✔ Define Machine Settings: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Name | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Type | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Description | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 60px;"|✔ Define Machine Parameters: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Location | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Sockets (KVM) | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Cores (LXC) | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ vCPU (KVM) | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ CPU Priority | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ VM RAM | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ SWAP (LXC) | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Disk Size | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Default User (KVM) | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Password | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ SSH Key | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Search Domain (KVM) | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 75px;"|✔ Name Servers (KVM) | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 60px;"|✔ Add Virtual Networks | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 60px;"|✔ Add Additional Disks | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ | + | |style="padding: 0px 0px 0px 30px;"|✔ Start/Reboot/Stop/Shut Down/Delete Server |
|} | |} | ||
{| | {| | ||
Line 256: | Line 375: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Send Email Notifications When Server Exceeds | + | |style="padding: 0px 0px 0px 30px;"|✔ Send Email Notifications When Server Exceeds Resource Thresholds: |
|} | |} | ||
{| | {| | ||
Line 295: | Line 414: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 60px;"|✔ Each Specified | + | |style="padding: 0px 0px 0px 60px;"|✔ Each Specified Day |
|} | |} | ||
{| | {| | ||
Line 307: | Line 426: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Choose Server Resources While Ordering And Upgrade/Downgrade Them Freely |
|} | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 30px;"|✔ Convert KVM VPS To KVM Template ("Cloud" Type Product) | ||
+ | |} | ||
+ | |||
*'''Configurable Options:''' | *'''Configurable Options:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ | + | |style="padding: 10px 0px 0px 30px;"|✔ KVM For "VPS" Product Type: |
|} | |} | ||
{| | {| | ||
Line 332: | Line 455: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Additional Disk Space (With Configurable Storage, Units And Size) | + | |style="padding: 0px 0px 0px 45px;"|✔ Additional Disk Space (With Configurable Storage, Units And Size) |
|} | |} | ||
{| | {| | ||
Line 404: | Line 527: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 5px 0px 0px 30px;"|✔ | + | |style="padding: 5px 0px 0px 30px;"|✔ KVM Limits For "Cloud" Product Type: |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ CPU Sockets | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ CPU Cores | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ CPU Limit | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ CPU Units Limit | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Memory | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Storage | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ IPv4 Addresses | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ IPv6 Addresses | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ IPv6 Subnets | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Backups Size | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Backups Files | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Snapshots | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Bandwidth | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Network Rate | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ VCPUs | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Virtual Networks | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Snapshot Jobs | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 45px;"|✔ Storage Disk Space | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 5px 0px 0px 30px;"|✔ LXC For "VPS" Product Type: | ||
|} | |} | ||
{| | {| | ||
Line 425: | Line 605: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Additional Disk Space (With Configurable Storage, Units And Size) | + | |style="padding: 0px 0px 0px 45px;"|✔ Additional Disk Space (With Configurable Storage, Units And Size) |
|} | |} | ||
{| | {| | ||
Line 471: | Line 651: | ||
{| | {| | ||
|style="padding: 0px 0px 10px 45px;"|✔ Server Monitoring | |style="padding: 0px 0px 10px 45px;"|✔ Server Monitoring | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 5px 0px 0px 30px;"|✔ LXC Limits For "Cloud" Product Type: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ CPU Limit | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ CPU Units Limit | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Memory | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ SWAP | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Storage | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Disk Space | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ IPv4 Addresses | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ IPv6 Addresses | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ IPv6 Subnets | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Private Network | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Backups Size | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Backups Files Limit | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Snapshots | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Bandwidth | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Network Rate | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Archive | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Network Rate | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Virtual Networks | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Snapshot Jobs | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 45px;"|✔ Storage Disk Space | ||
|} | |} | ||
Line 526: | Line 769: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader | + | |style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V14 Or Later |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps#open-source-version Open Source Version] | + | |style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps-and-cloud#open-source-version Open Source Version] |
|} | |} | ||
=Installation and Configuration= | =Installation and Configuration= | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"|'''This tutorial will show you how to successfully install and configure [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps Proxmox VE VPS For WHMCS.]''' <br /> | + | |style="padding: 10px 0px 30px 15px;"|'''This tutorial will show you how to successfully install and configure [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps-and-cloud Proxmox VE VPS & Cloud For WHMCS.]''' <br /> |
− | We will guide you step by step through the whole installation and configuration process. | + | We will guide you step by step through the whole installation and configuration process. |
− | + | ||
− | + | ||
|} | |} | ||
+ | |||
+ | <h4 style="color: orange; font-weight:bold; text-align:center;"> | ||
+ | Important update: This product has undergone several changes, including a name change and relocation of the license file to the addon.<br/> | ||
+ | You will need to reissue your license for the changes to take effect.<br/> | ||
+ | We apologize for any inconvenience and appreciate your understanding. | ||
+ | </h4> | ||
+ | |||
==Installation== | ==Installation== | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 0px;"|'''This | + | |style="padding: 10px 0px 0px 0px;"|'''This guide will walk you through the installation and initial setup of the [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps-and-cloud Proxmox VE VPS & Cloud For WHMCS.]''' <br /> |
− | + | Follow the steps below to properly install the module and prepare it for use in your WHMCS system. | |
|} | |} | ||
{| | {| | ||
Line 548: | Line 796: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_1.png]] |
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''2. Extract the package and upload the | + | |style="padding: 0px 0px 15px 15px;"|'''2. Extract the package and upload the files into the main WHMCS directory. |
The content of the package to upload should look like this. | The content of the package to upload should look like this. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_2.png]] |
|} | |} | ||
{| | {| | ||
Line 581: | Line 817: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''4. When you install Proxmox VE VPS For WHMCS for the first time, you have to rename the '' 'license_RENAME.php' '' file.'''<br /> | + | |style="padding: 0px 0px 15px 15px;"|'''4. When you install Proxmox VE VPS & Cloud For WHMCS for the first time, you have to rename the '' 'license_RENAME.php' '' file.'''<br /> |
− | The file is located in '' 'modules/ | + | The file is located in '' 'modules/addons/proxmoxVeVpsCloud/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_2_1.png]] |
|} | |} | ||
{| | {| | ||
Line 593: | Line 829: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_2_4.png]] |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''6. In the next step, set up the '' 'storage' '' folder as recursively writable.'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''6. In the next step, set up the '' 'storage' '' folder as recursively writable.'''<br /> | ||
− | This folder is available at | + | This folder is available at '' your_whmcs/modules/addons/proxmoxVeVpsCloud/ '' location. |
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_2_5.png]] |
|} | |} | ||
+ | <!-- | ||
{| | {| | ||
|style="color: #ff0000; padding: 0px 0px 10px 15px;"|'''Important: Beta to Stable Release update:''' | |style="color: #ff0000; padding: 0px 0px 10px 15px;"|'''Important: Beta to Stable Release update:''' | ||
Line 613: | Line 849: | ||
ALTER TABLE `ProxmoxAddon_Backups` ADD `format` VARCHAR(40) NOT NULL AFTER `volid`; | ALTER TABLE `ProxmoxAddon_Backups` ADD `format` VARCHAR(40) NOT NULL AFTER `volid`; | ||
|} | |} | ||
+ | --> | ||
==Activation of Proxmox VE VPS & Cloud Addon== | ==Activation of Proxmox VE VPS & Cloud Addon== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|''' | + | |style="padding: 10px 0px 15px 15px;"|'''7. Firstly, activate the Proxmox VE VPS & Cloud addon.''' <br /> |
− | To do so, log in to your WHMCS and navigate to '' 'System Settings' '' → '' 'Addon Modules'. '' Find '' 'Proxmox VE VPS & Cloud' '' and press '' 'Activate' | + | To do so, log in to your WHMCS and navigate to '' 'System Settings' '' → '' 'Addon Modules'. '' Find '' 'Proxmox VE VPS & Cloud' '' and press '' 'Activate'. '' |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_2_6.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''8. In the next step, you need to permit access to this module.'''<br /> |
To do so, click on the '' 'Configure' '' button, tick '' 'Full Administrator' '' and press '' 'Save Changes'. '' | To do so, click on the '' 'Configure' '' button, tick '' 'Full Administrator' '' and press '' 'Save Changes'. '' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_2_7.png]] |
|} | |} | ||
==Configuration of Server== | ==Configuration of Server== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|''' | + | |style="padding: 10px 0px 15px 15px;"|'''9. Now, we will show you how to configure a new product.''' <br /> |
Go to '' 'System Settings' '' → '' 'Servers' '' and press the '' 'Add New Server' '' button. | Go to '' 'System Settings' '' → '' 'Servers' '' and press the '' 'Add New Server' '' button. | ||
|} | |} | ||
Line 640: | Line 876: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''10. Next, enter your server name and IP address, you may add any port in the following format: '' "IpAddress:Port" '', that is: ''10.10.10.1:8006'''''.<br /> |
− | Enter the and password, choose the authentication type from '' 'Authentication' '' and '' 'Proxmox VE VPS' '' from the '' 'Type' '' dropdown menus. Save changes afterward.<br/> | + | Enter the and password, choose the authentication type from '' 'Authentication' '' and '' 'Proxmox VE VPS & Cloud' '' from the '' 'Type' '' dropdown menus. Save changes afterward.<br/> |
'''''Important:''' If you have problems with connection, make sure the WHMCS server can correctly connect to Proxmox. For more details refer to this article [https://pve.proxmox.com/wiki/Proxmox_VE_API#Example:_Get_a_New_Ticket_and_the_CSRF_Prevention_Token|article].'' | '''''Important:''' If you have problems with connection, make sure the WHMCS server can correctly connect to Proxmox. For more details refer to this article [https://pve.proxmox.com/wiki/Proxmox_VE_API#Example:_Get_a_New_Ticket_and_the_CSRF_Prevention_Token|article].'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC2_8.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''11. Time to create a server group. To do so, click on '' 'Create Server Group'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC2_9.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''12. Enter the name, click on your previously created server, press '' 'Add' '' and afterward '' 'Save Changes'. ''''' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC2_10.png]] |
|} | |} | ||
==Configuration of Product== | ==Configuration of Product== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|''' | + | |style="padding: 10px 0px 15px 15px;"|'''13. In order to create and configure a product, go to '' 'System Settings' '' → '' 'Products/Services' ''. '''<br /> |
Click on '' 'Create a New Group'.'' | Click on '' 'Create a New Group'.'' | ||
|} | |} | ||
Line 670: | Line 906: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|''' | + | |style="padding: 0px 0px 20px 15px;"|'''14. Enter a product group name and press '' 'Save Changes'. ''''' |
|} | |} | ||
{| | {| | ||
Line 676: | Line 912: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''15. When you have a product group, you can assign your product to it.'''<br /> |
To create a product, click on '' 'Create a New Product'.'' | To create a product, click on '' 'Create a New Product'.'' | ||
|} | |} | ||
Line 683: | Line 919: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''16. Afterward, choose your product group from dropdown menus and point its type, enter your product name and choose Proxmox VE VPS & Cloud as a module name. <br/> Press '' 'Continue'. '''''<br /> |
'' 'Product Type' '' can be set to '' 'Server/VPS' '' but nameservers will need to be added later ([https://requests.whmcs.com/topic/ability-to-remove-the-nameserver-options-on-order-page here] you can find instructions on how to remove them from your order template).<br/> | '' 'Product Type' '' can be set to '' 'Server/VPS' '' but nameservers will need to be added later ([https://requests.whmcs.com/topic/ability-to-remove-the-nameserver-options-on-order-page here] you can find instructions on how to remove them from your order template).<br/> | ||
− | '' 'Server/VPS' '' type can also be useful for a more complex display of IP | + | '' 'Server/VPS' '' type can also be useful for a more complex display of IP address assignment. However, if this is not something you need, you can select '' 'Shared Hosting' ''. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC3_4.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''17. Now, go to the '' 'Module Settings' '' section and choose your previously created server group from the dropdown menu.'''<br /> |
The page should reload automatically after the selection. If it doesn't, you may need to click '' 'Save Changes' ''. | The page should reload automatically after the selection. If it doesn't, you may need to click '' 'Save Changes' ''. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC3_5.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''18. In the "General" part of the module settings, pick the most crucial settings that will define your product, these are: |
− | + | * '''Product Type''' - Select between '''VPS''' and '''Cloud.''' | |
+ | * '''Virtualization Type''' - You may choose between: | ||
+ | ** '''KVM''' - short form for Kernel-based virtual machines; used for Qemu (Quick Emulator), which is an open source hypervisor that emulates a physical computer | ||
+ | ** '''LXC''' - used for Linux Container as a lightweight alternative to fully virtualized virtual machines | ||
+ | * '''Default Node''' - choose the default node from the dropdown menu. <br/ > '''''Note:''' If you choose the '''Auto-Node''' as your 'Default Node', new virtual servers will be created on the least used node.''<br/ >'''''Note 2:''' An advanced tool is available for you to automatically manage the node selection with the best amount of resources. Read more about [[#Load Balancer|Load Balancer]].'' <br/> Remember that changing the node will always result in the replacement of the current configuration with the default one. Upon selecting the node, the current configuration should be saved automatically.<br/> If, for any reason, this does not happen, please press '' 'Save Changes'.''<br /> | ||
− | *''' | + | * '''Check Available Resources''' - Enable if you want the available resources to be checked before creating a new machine. |
− | *''' | + | * '''Reset Usage First Day of Month''' - If enabled, the usage will be automatically reset on the first day of the month. |
− | + | ||
− | + | ||
− | If, | + | |
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC3_6.png]] |
|} | |} | ||
− | |||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 30px 15px;"|'''To create a virtual machine using a template, archive, or ISO image, make sure the App Templates are configured in the addon first.'''<br/> |
+ | This ensures that the correct image is available during VM creation. For details, see the [[#App_Templates|App Templates]] section of the documentation. | ||
+ | |} | ||
+ | |||
+ | ===VPS - KVM Virtualization Type=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|'''19. Setting the KVM virtualization type.'''<br /> | ||
Before you start configuring the KVM virtualization, we '''highly recommend''' that you familiarize yourself with the following '[https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines Qemu/KVM Virtual Machines]' Proxmox Virtual Environment wiki article. | Before you start configuring the KVM virtualization, we '''highly recommend''' that you familiarize yourself with the following '[https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines Qemu/KVM Virtual Machines]' Proxmox Virtual Environment wiki article. | ||
− | + | '''The basic fields''' required to create a virtual machine are '''filled in by default''' to make the initial setup simpler for you.<br /> | |
− | + | ||
− | Start your product configuration in the '' 'Virtual Machine Configuration' '' panel, where you can set up | + | Start your product configuration in the '' 'Virtual Machine Configuration' '' panel, where you can set up machine resources and limits or assigned IP addresses. <br/> Note that some fields can be left empty if you want to disable them or set as unlimited - read the tooltips for further guidance. <br/> |
− | ''''' | + | '''App Templates Configuration''' - To create your VM based on a template, archive, or ISO image, you must first configure the App Templates in the module's addon. <br/> Once your applications and groups are set up there, you can select the desired template or archive in the product's Module Settings tab to be used during VM creation. <br/ >Please refer to the [[#App_Templates|App Templates section]] of the documentation for detailed setup instructions. |
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_VPSkvm_1.png]] |
|} | |} | ||
{| | {| | ||
Line 739: | Line 975: | ||
* '' 'FileSystems Freeze during Backup' '' - enable to allow freezing/thawing of guest filesystems during backup for consistency <br/> | * '' 'FileSystems Freeze during Backup' '' - enable to allow freezing/thawing of guest filesystems during backup for consistency <br/> | ||
− | Remember that you need to install Guest Agent on your KVM template in order for the function to work properly. For more info click [https://pve.proxmox.com/wiki/Qemu-guest-agent here] | + | Remember that you need to install the Guest Agent on your KVM template in order for the function to work properly. For more info, click [https://pve.proxmox.com/wiki/Qemu-guest-agent here] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_VPSkvm_2.png]] |
|} | |} | ||
+ | |||
+ | ===VPS - LXC Virtualization Type=== | ||
{| | {| | ||
− | |style="padding: | + | |style="padding: 10px 0px 15px 15px;"|'''Setting the LXC virtualization type is very similar to KVM.'''<br/> |
+ | |||
+ | Before you start configuring the LXC virtualization, we '''highly recommend''' that you familiarize yourself with the following '[https://pve.proxmox.com/wiki/Linux_Container Linux Container]' Proxmox wiki article. | ||
+ | |||
+ | Just as with [[#VPS_-_KVM_Virtualization_Type|KVM]], '''the basic fields''' required to create a virtual machine are '''filled in by default''' to make the initial setup simpler for you.<br /> | ||
+ | |||
+ | Start your product configuration in the '''Virtual Machine Configuration''' panel, where you can set up such features as 'Default Storage', container resources and limits or the number of assigned IP addresses. <br/> Note that some fields can be left empty if you want to disable them or set as unlimited - read the tooltips for more information. | ||
+ | |||
+ | '''App Templates Configuration''' - To create your VM based on a template, archive, or ISO image, you must first configure the App Templates in the module's addon. <br/> Once your applications and groups are set up there, you can select the desired template or archive in the product's Module Settings tab to be used during VM creation. <br/ >Please refer to the [[#App_Templates|App Templates section]] of the documentation for detailed setup instructions. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_VPSlxc_1.png]] |
|} | |} | ||
− | |||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"| | + | |style="padding: 0px 0px 15px 15px;"|Next, configure '' 'Mount Point', 'Backup', 'Network' '' and so on. |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_VPSlxc_2.png]] |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
− | === | + | ===Cloud - KVM Virtualization Type=== |
{| | {| | ||
− | |style="padding: | + | |style="padding: 10px 0px 15px 15px;"|'''Settings of the KVM virtualization type of a Cloud-type product.'''<br/> |
+ | There are a few sections underlined that need your attention. Please, complete carefully the '' 'KVM Configuration' '', '' 'Additional Disks' '', '' 'Client Area Features' '' sections.<br/> | ||
− | + | '''App Templates Configuration''' - To create your VM based on a template, archive, or ISO image, you must first configure the App Templates in the module's addon. <br/> Once your applications and groups are set up there, you can select the desired application (template, image or archive) in the product's Module Settings tab to be used during VM creation. <br/ >Please refer to the [[#App_Templates|App Templates section]] of the documentation for detailed setup instructions. | |
− | + | As you can see, there are more options available. Look through them and decide which ones you want to modify and adjust to your and your clients' needs. <br/> | |
− | + | Do not forget about the '' 'Network' '' section where you can determine a model, bridge, and rate limits of the network.<br /> | |
+ | If you are going to allow your clients to manage their private networks, you have to select '' 'Private Bridge' '' and set up VLAN TAG Range.<br/> | ||
− | + | Once you make sure that the configuration is completed, click '' 'Save Changes'. ''<br/> | |
− | ''''' | + | '''Important: Keep in mind that the root password is generated automatically for KVM virtualization upon its creation and reset.'''<br /> |
+ | '''If you want to set your own password on KVM virtualization, use the [[#Configuring_Servers_Using_Cloud-Init|Cloud-Init]] option.''' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC CoudKVM_1.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC CoudKVM_2.png]] |
− | + | ||
|} | |} | ||
+ | |||
+ | ===Cloud - LXC Virtualization Type=== | ||
{| | {| | ||
− | |style="padding: 0px | + | |style="padding: 10px 0px 15px 15px;"|'''Settings of the LXC virtualization type of the CLoud-type product.'''<br/> |
+ | Firstly, complete the '' 'General' '' configuration and then proceed to the '' 'Main Configuration' '', '' 'LXC Configuration' '' and '' 'Network' '' sections.<br /> | ||
+ | |||
+ | '''App Templates Configuration''' - To create your VM based on a template, archive, or ISO image, you must first configure the App Templates in the module's addon. <br/> Once your applications and groups are set up there, you can select the desired application (template, image or archive) in the product's Module Settings tab to be used during VM creation. <br/ >Please refer to the [[#App_Templates|App Templates section]] of the documentation for detailed setup instructions. | ||
+ | |||
+ | There are more options available, so you may easily modify the configuration of your products. Once you complete everything, click on the '' 'Save Changes' '' button. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC CoudLXC_1.png]] |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC CoudLXC_2.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 15px;"|'' ' | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC CoudLXC_3.png]] |
+ | |} | ||
+ | |||
+ | ===Client Area Features=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|'''20. Finally, choose which client area features shall be available in the client area. ''' <br/ >Enable the "Managed View" feature to make all virtual machine management options and actions visible to the administrator and hidden from the client. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_3.png]] | ||
|} | |} | ||
===Finalizing The Configuration=== | ===Finalizing The Configuration=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|'''23. Afterward, you can create configurable options. '''<br/> | + | |style="padding: 10px 0px 15px 15px;"|'''21. Private Network Management - in order to allow clients to manage their private networks, set up the '' 'Network' '' and '' 'Private Network' '' sections properly.<br/> |
+ | *Define '' 'Private Network Model' '' | ||
+ | *Select '' 'Bridge' '' as well as '' 'Private Bridge' '' from the dropdown menus. | ||
+ | *Enter ranges for VLAN TAG<br/> | ||
+ | '''''Note:''' Configure these three options for the KVM and LXC virtualization.''<br/> | ||
+ | If you skip this step, clients will not be allowed to add private networks.<br/> | ||
+ | |||
+ | '''''Note2:''' For SDN Private Network type please refer to Tips section, [[#Tips|point 12]].'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_3_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''22. The next step is setting up the configuration of backups.'''<br /> | ||
+ | Define backup settings in the '' 'Backup' '' section through defining'' 'Storage' '' and enabling '' 'Backups Routing' ''.<br /> | ||
+ | Backups routing automatically removes the oldest backup when a new backup is created and the established backup limit is reached.<br /> | ||
+ | Additionally, you can limit the time period for storing backups by providing the number of days into the '' 'Backups Storing Period' '' field.<br /> | ||
+ | Furthermore, you can define the limit of firewall rules and the interface to apply the rules to.<br /> | ||
+ | Finish the configuration in the '' 'Module Settings' '' tab through pressing '' 'Save Changes'. '' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_3_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|'''23. Set up server limits to control the size of created servers (Cloud-type products).''' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_3_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|'''24. Afterward, you can create configurable options. '''<br/> | ||
This step is <u>optional</u> - if you want to take it, start by selecting which of the configurable options listed in [[#List of Configurable Options|this table]] you want to generate.<br/> | This step is <u>optional</u> - if you want to take it, start by selecting which of the configurable options listed in [[#List of Configurable Options|this table]] you want to generate.<br/> | ||
'' '''Note:''' It is advisable not to generate options that you do not plan to use, or in case you want their fixed values to be taken from the module settings, rather than being flexible.<br/> Moreover, the configurable options differ between the KVM and LXC virtualization types, so create them separately if needed.'' | '' '''Note:''' It is advisable not to generate options that you do not plan to use, or in case you want their fixed values to be taken from the module settings, rather than being flexible.<br/> Moreover, the configurable options differ between the KVM and LXC virtualization types, so create them separately if needed.'' | ||
− | '''''Note 2:''' There is also an 'Alternative Mode' available, which changes the way the configurable options values are verified and calculated. <br/> Select single configurable options and their values will be summed with the default product configuration values instead of overwriting them.'' | + | '''''Note 2:''' There is also an '''Alternative Mode''' available '''(VPS product type only)''', which changes the way the configurable options values are verified and calculated. <br/> Select single configurable options and their values will be summed with the default product configuration values instead of overwriting them.'' |
− | More information about configurable options and their edition can be found [https://docs.whmcs.com/Addons_and_Configurable_Options here]. | + | More information about configurable options and their edition can be found [https://docs.whmcs.com/Addons_and_Configurable_Options here].<br/> A clear division of configurable opinions available per product and virtualization type, please see the comparison [[#List_of_Configurable_Options|table]]. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_3_4.png]] |
|} | |} | ||
{| | {| | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_3_5.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''25. At the end of the product configuration, you have to add a cron job as shown below (5-minute intervals are recommended). |
− | php -q /your_whmcs/modules/addons/ | + | php -q /your_whmcs/modules/addons/ProxmoxVeVpsCloud/cron/cron.php queue |
Do not forget to replace '' 'your_whmcs' '' with your WHMCS root location. The cron can be also executed every single minute in order to perform the action more often.<br/> | Do not forget to replace '' 'your_whmcs' '' with your WHMCS root location. The cron can be also executed every single minute in order to perform the action more often.<br/> | ||
− | In the [[#Configuration_of_Addon|Configuration of Addon]] settings, you will find a personalized command for the cron on your server as well as more possible crons to set up for execution. | + | In the [[#Configuration_of_Addon|Configuration of Addon]] settings, you will find a personalized command for the cron on your server as well as more possible crons to set up for execution.<br/> |
+ | |||
+ | '''''Note:''' The '''queue''' command is also available in the addon’s '''Cron Scheduler.''' <br/ >This means you can automate its execution by simply setting up the central '''schedule''' cron task, which handles all recurring jobs configured within the scheduler.''<br/> | ||
+ | ''For more details, see the '''[[#Cron Scheduler|Cron Scheduler]]''' section of this documentation.'' | ||
|} | |} | ||
{| | {| | ||
Line 827: | Line 1,116: | ||
==Configuration of Addon== | ==Configuration of Addon== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|''' | + | |style="padding: 10px 0px 15px 15px;"|'''26. Proceed to '''Addons''' → '''Proxmox VE VPS & Cloud''' → '''Settings''' → '''General Settings''' and set up the listed cron job.<br/> |
− | + | The addon offers a convenient tool called '''Cron Scheduler''' that allows you to automate recurring jobs.<br/> Configure the execution frequency for each regularly run cron job, then activate the main schedule job, it will handle the regular execution of all defined tasks.<br/> | |
− | + | For details, please refer to the [[#Cron_Scheduler|Cron Scheduler]] section of this documentation. | |
+ | |||
+ | * Remove backups ''(every 24 hours suggested)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php remove-backups | ||
+ | |||
+ | * Scheduled backups ''(every 5 minutes suggested)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php backup-schedules | ||
+ | |||
+ | * Backups synchronization ''(every 5 minutes suggested)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php backupSync | ||
+ | |||
+ | * Migrate backup jobs to schedules ''(run once per product)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php migrate-backup-jobs-to-schedules --product_id=PRODUCT_ID | ||
+ | |||
+ | * VMs migration synchronization ''(every 5 minutes suggested)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php migrateSync | ||
+ | |||
+ | * VMs power tasks ''(every 5 minutes suggested)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php powerTasks | ||
+ | |||
+ | * VM recovery synchronization ''(every hour suggested)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php recoveryList | ||
+ | |||
+ | * Remove snapshots ''(every 24 hours suggested)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php remove-snapshots | ||
+ | |||
+ | * Resources notifications ''(every 5 minutes suggested)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php resourcesNotifications | ||
+ | |||
+ | * Proxmox cloud-type products (RRD data) ''(optional, every hour suggested)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php rrddata | ||
+ | |||
+ | *Snapshot jobs ''(every 5 minutes suggested)'' | ||
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php snapshots | ||
− | |||
− | |||
− | |||
− | |||
* Tasks synchronization ''(every 5 minutes suggested)'' | * Tasks synchronization ''(every 5 minutes suggested)'' | ||
− | + | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php task | |
− | + | ||
− | * | + | * Update server usage ''(every 5 minutes suggested)'' |
− | + | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php update-server-usage | |
− | + | ||
− | * | + | * Users synchronization ''(run once only)'' |
− | + | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php users | |
− | + | ||
− | * VM names synchronization ''(run | + | * VM names synchronization ''(run once only)'' |
+ | php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php synchronize-vm-names | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_4.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''27. Next, find the '' 'Minimum VMID' '' field under the 'Cron' settings.'''<br/> Fill it in with a number that will be used as an ID of the first VM, the second VM will be assigned the next ID number.<br/> Define the limit of tasks that will be executed with a single cron run, just type in the required number into the '' 'Tasks Limit' '' field.<br/> |
Here, you may also turn on the '' 'Debug Mode' '' if you need to register module logs. | Here, you may also turn on the '' 'Debug Mode' '' if you need to register module logs. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_4_1.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''28. Adding a new IP address.<!-- (applicable only if you do not use [https://www.modulesgarden.com/products/whmcs/ip-manager#features IP Manager For WHMCS]).-->'''<br /> |
− | In order to create a new product with an IP address assigned, you have to add '' 'Dedicated IP'' ' to the '' 'IP Addresses' '' list in '' 'Proxmox' '' addon module.<br /> | + | In order to create a new product with an IP address assigned, you have to add '' 'Dedicated IP'' ' to the '' 'IP Addresses' '' list in '' 'Proxmox VE VPS & Cloud' '' addon module.<br /> |
To do so, go to '' 'IP Management' '' and press '' 'New IP Addresses'. ''<br /> | To do so, go to '' 'IP Management' '' and press '' 'New IP Addresses'. ''<br /> | ||
'''''Note:''' You can add IPv4, IPv6 addresses and IPv6 subnets. The process is the same for all types.'' | '''''Note:''' You can add IPv4, IPv6 addresses and IPv6 subnets. The process is the same for all types.'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_4_2.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''29. Start with defining the IP address type, choose among: '' 'IPv4', IPv6' '' and '' 'IPv6 subnet'.'' '''<br/> |
− | Then, depending on the selected type, provide: <br/> | + | Then, depending on the selected type, provide:<br/> |
− | + | ||
'''For IPv4 and IPv6 addresses types''' | '''For IPv4 and IPv6 addresses types''' | ||
* "Network Address" ''(eg: 192.168.1.0/24)'' | * "Network Address" ''(eg: 192.168.1.0/24)'' | ||
Line 899: | Line 1,217: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''30. You are now able to create a new product using the previously added IP address.'''<br /> |
If you are using the KVM virtualization type, the client area with a successfully created product should look similar to the one on the screen below.<br/> | If you are using the KVM virtualization type, the client area with a successfully created product should look similar to the one on the screen below.<br/> | ||
The assigned IP addresses should be displayed on the bottom panel according to the way you configured the IP pools. It looks quite similar in the case of the LXC virtualization type product. | The assigned IP addresses should be displayed on the bottom panel according to the way you configured the IP pools. It looks quite similar in the case of the LXC virtualization type product. | ||
Line 1,015: | Line 1,333: | ||
|} | |} | ||
− | + | ==Configuring Servers Using Cloud-Init== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|If you are having trouble setting up DNS servers using Cloud-Init, this guide will help you resolve this issue quickly.<br/> | |style="padding: 10px 0px 15px 15px;"|If you are having trouble setting up DNS servers using Cloud-Init, this guide will help you resolve this issue quickly.<br/> | ||
Line 1,029: | Line 1,340: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_4_3.png]] |
|} | |} | ||
{| | {| | ||
Line 1,049: | Line 1,360: | ||
{| | {| | ||
|style="padding: 0px 0px 30px 25px;"|[[File:PX3_50_05.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_50_05.png]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 1,232: | Line 1,390: | ||
At the same time, you can monitor and manage each product from your WHMCS admin area. | At the same time, you can monitor and manage each product from your WHMCS admin area. | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Management of Addon== | ==Management of Addon== | ||
===Servers Management=== | ===Servers Management=== | ||
− | ==== | + | ====Server List==== |
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|In '' 'Addons' '' → '' 'Proxmox Addon' '' → '' 'Servers' '' → '' 'Servers List' '' you can find the configured Proxmox servers.<br /> | |style="padding: 10px 0px 15px 15px;"|In '' 'Addons' '' → '' 'Proxmox Addon' '' → '' 'Servers' '' → '' 'Servers List' '' you can find the configured Proxmox servers.<br /> | ||
Line 1,307: | Line 1,402: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_28.png]] |
|} | |} | ||
{| | {| | ||
Line 1,319: | Line 1,414: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_29.png]] |
|} | |} | ||
{| | {| | ||
Line 1,334: | Line 1,429: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_29_2.png]] |
|} | |} | ||
{| | {| | ||
Line 1,373: | Line 1,468: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX4_30_2.png]] |
|} | |} | ||
Line 1,381: | Line 1,476: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX4_31_1.png]] |
|} | |} | ||
Line 1,390: | Line 1,485: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_31_3.png]] |
|} | |} | ||
{| | {| | ||
Line 1,404: | Line 1,499: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX4_31_2.png]] |
|} | |} | ||
Line 1,415: | Line 1,510: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX4_34.png]] |
|} | |} | ||
Line 1,423: | Line 1,518: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_34_1.png]] |
|} | |} | ||
{| | {| | ||
Line 1,438: | Line 1,533: | ||
|} | |} | ||
− | ==== | + | ====Service List==== |
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 20px 15px;"|In '' 'Addons' '' → '' 'Proxmox VE VPS & Cloud' Addon'' → '' 'Servers' '' → '' 'Service List' '' you can find details of any Proxmox product. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_35.png]] |
|} | |} | ||
{| | {| | ||
Line 1,452: | Line 1,547: | ||
|} | |} | ||
− | ====Recovery | + | ====Recovery VMs List==== |
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In '' 'Addons' '' → '' 'Proxmox | + | |style="padding: 10px 0px 15px 15px;"|In '' 'Addons' '' → '' 'Proxmox VE VPS & Cloud' Addon'' → '' 'Servers' '' → '' 'Recovery VM List' '' you can view details of the created machine. <br /> |
− | Run the '' 'VM recovery synchronization' '' cron job to create and store full backups of VM configuration - you can find it in the point | + | Run the '' 'VM recovery synchronization' '' cron job to create and store full backups of VM configuration - you can find it in the point 25 of the [[#Configuration of Addon|configuration]] instructions.<br/> |
Use the '' 'Export to File' '' button to save information in a TXT copy file. | Use the '' 'Export to File' '' button to save information in a TXT copy file. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_36.png]] |
|} | |} | ||
{| | {| | ||
Line 1,478: | Line 1,573: | ||
|style="padding: 10px 0px 15px 15px;"|The "Task History" section includes the list of all module tasks with their most crucial details.<br/> You may delete single tasks or use the mass action button to remove them in bulk.<br/> | |style="padding: 10px 0px 15px 15px;"|The "Task History" section includes the list of all module tasks with their most crucial details.<br/> You may delete single tasks or use the mass action button to remove them in bulk.<br/> | ||
− | Run the '' 'Tasks synchronization' '' cron job to synchronize the tasks, and view all tasks from the server - you can find it in the point | + | Run the '' 'Tasks synchronization' '' cron job to synchronize the tasks, and view all tasks from the server - you can find it in the point 25 of the [[#Configuration of Addon|configuration]] instructions. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX4_37.png]] |
|} | |} | ||
Line 1,491: | Line 1,586: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_30.png]] |
|} | |} | ||
{| | {| | ||
Line 1,513: | Line 1,608: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_30_0.png]] |
|} | |} | ||
+ | <!-- | ||
===IP Manager Integration=== | ===IP Manager Integration=== | ||
{| | {| | ||
Line 1,548: | Line 1,644: | ||
|style="padding: 0px 0px 30px 25px;"|[[File:PX_49_1.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:PX_49_1.png]] | ||
|} | |} | ||
+ | --> | ||
===App Templates=== | ===App Templates=== | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 30px 15px;"|'App Templates' allow you to manage and ultimately provide KVM and LXC templates, archives and ISO images to your clients.<br/> |
− | Prepare templates in the '' 'Applications' '' tab and gather them into groups in the '' 'Groups' '' tab.<br/> | + | Prepare the templates in the '' 'Applications' '' tab and gather them into groups in the '' 'Groups' '' tab.<br/> |
− | For clients to be able to install templates on their | + | For clients to be able to install templates on their virtual machines, their product has to include an '' '[[#VPS_-_KVM_Virtualization_Type|Application Group]]' '' and allow '' '[[#Client_Area_Features|App Templates/Reinstallation]]' '' in the client area. |
|} | |} | ||
====Applications==== | ====Applications==== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Read the guide carefully, as it contains crucial information on how to use | + | |style="padding: 10px 0px 15px 15px;"|Read the guide carefully, as it contains crucial information on how to use "App Templates".<br/> |
You can change the settings and have the guide collapsed by default. Clicking on the '' 'Additional Actions' '' button, select '' 'Options' '' and '' 'Collapse Guide'.'' | You can change the settings and have the guide collapsed by default. Clicking on the '' 'Additional Actions' '' button, select '' 'Options' '' and '' 'Collapse Guide'.'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_8.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|You can switch between | + | |style="padding: 0px 0px 20px 15px;"|You can switch between KVM Templates, LXC Templates, ISO Images, KVM and LXC Archives by clicking on relevant tabs. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_8_1.png]] |
|} | |} | ||
{| | {| | ||
Line 1,573: | Line 1,670: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_8_2.png]] |
|} | |} | ||
{| | {| | ||
Line 1,580: | Line 1,677: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_8_3.png]] |
|} | |} | ||
Line 1,589: | Line 1,686: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_9_0.png]] |
|} | |} | ||
{| | {| | ||
Line 1,596: | Line 1,693: | ||
*Description | *Description | ||
*Items to include | *Items to include | ||
− | |||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_9_1.png]] |
|} | |} | ||
{| | {| | ||
Line 1,605: | Line 1,701: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_9_2.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|For the client to take advantage of the application templates, the product [[# | + | |style="padding: 0px 0px 15px 15px;"|For the client to take advantage of the application templates, the product [[#VPS_-_KVM_Virtualization_Type|module settings]] must include a selected group.<br/> |
− | Find the '' 'App Templates Configuration' '' section and '' 'Default Application Group' '' field.<br/> | + | Find the '' 'App Templates Configuration' '' section and the '' 'Default Application Group' '' field. Assign the desired group to the product.<br/> |
− | + | '''''Note:''' The system will display templates from the group that contains the selected VM image. If the VM image cannot be found within the assigned group, the default group will be used.'' | |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_9_3.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Make sure '' ' | + | |style="padding: 0px 0px 15px 15px;"|Make sure '' 'Reinstallation' '' section is enabled under '' 'Client Area Features'.'' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_9_4.png]] |
|} | |} | ||
+ | |||
====Advanced Configuration==== | ====Advanced Configuration==== | ||
{| | {| | ||
Line 1,632: | Line 1,729: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_7_0.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 5px 15px;"|2. | + | |style="padding: 0px 0px 5px 15px;"|2. To fetch available templates or ISO images, you can use the Proxmox VE API.<br/> |
− | + | List all content on storage (ISO, templates, etc.): | |
− | + | GET /api2/json/nodes/{node}/storage/{storage}/content | |
− | + | Filter results using the content parameter: | |
− | + | * <code>content=iso</code> – ISO Images | |
− | + | * <code>content=vztmpl</code> – LXC container templates | |
− | + | ||
− | + | List all VMs, containers, and other resources across the cluster: | |
− | + | GET /api2/json/cluster/resources | |
− | + | You can filter the response by: | |
− | + | * <code>type: "qemu"</code> | |
− | + | * <code>template: 1</code> (this field appears in the result if the VM is a template) | |
− | + | ||
− | + | For Example: | |
− | + | { | |
− | + | "vmid": 100, | |
− | + | "type": "qemu", | |
− | + | "template": 1, | |
+ | "name": "ubuntu-template", | ||
+ | "node": "pve1", | ||
+ | "status": "stopped" | ||
+ | }, | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|3. In the '' 'Name' '' field we recommend including the value of the '' '"name": "$name"' '' field. | + | |style="padding: 0px 0px 15px 15px;"|3. In the '' 'Name' '' field, we recommend including the value of the '' '"name": "$name"' '' field. |
− | For example '' ' | + | For example '' 'ubuntu-template' '' from: |
− | "name": " | + | "name": "ubuntu-template", |
'''''Note:''' If you include a '' 'name' '' setting detail (see step 4) with the name from the request as its value, you can safely rename the application to something else here.'' | '''''Note:''' If you include a '' 'name' '' setting detail (see step 4) with the name from the request as its value, you can safely rename the application to something else here.'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_7_1.png]] |
|} | |} | ||
{| | {| | ||
Line 1,668: | Line 1,768: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_7_2.png]] |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|Carefully look at the API output and fill out the '' 'Name' '' and '' 'Default Value' '' fields with you application details. | |style="padding: 0px 0px 15px 15px;"|Carefully look at the API output and fill out the '' 'Name' '' and '' 'Default Value' '' fields with you application details. | ||
− | In our case it is: | + | In our case, it is: |
− | " | + | "vmid": 100, |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_7_3.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Add the remaining settings following the same pattern of filling the '' 'Name' '' and '' 'Default Value' '' fields. | + | |style="padding: 0px 0px 20px 15px;"|Add the remaining settings following the same pattern of filling the '' 'Name' '' and '' 'Default Value' '' fields. <br/> |
− | + | '''''Important:''' For '''KVM Template, LXC Template,''' and '''ISO Images''', the setting must include the ''' 'instances' ''' field.<br/> For '''KVM Archive''' and '''LXC Archive''', the settings must include both ''' 'node' ''' and ''' 'volid' ''' fields.'' | |
− | + | |} | |
− | + | ||
− | |} | + | |
{| | {| | ||
− | |style="padding: 0px 0px 20px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_7_4.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px | + | |style="padding: 0px 0px 30px 15px;"|The application will be available on the list and ready to be included in a group. |
|} | |} | ||
Line 1,698: | Line 1,796: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_7_5.png]] |
|} | |} | ||
{| | {| | ||
Line 1,707: | Line 1,805: | ||
*'''Validation''' - optionally, provide [https://laravel.com/docs/11.x/validation#available-validation-rules Laravel validation rules] like '' 'required'.'' | *'''Validation''' - optionally, provide [https://laravel.com/docs/11.x/validation#available-validation-rules Laravel validation rules] like '' 'required'.'' | ||
*'''Visibility''' - this will allow the client to modify the script before installation. | *'''Visibility''' - this will allow the client to modify the script before installation. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_7_6.png]] |
|} | |} | ||
− | === | + | ===Settings=== |
====Load Balancer==== | ====Load Balancer==== | ||
{| | {| | ||
Line 1,854: | Line 1,945: | ||
====Admin Area Features==== | ====Admin Area Features==== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|The '' 'Admin Area Features' '' section includes a list of all possible features that can be activated and then available or not for the admin under the product's details | + | |style="padding: 10px 0px 15px 15px;"|The '' 'Admin Area Features' '' section includes a list of all possible features that can be activated and then made available or not for the admin under the product's details: |
− | + | *Virtual Machines | |
− | + | *Start | |
− | + | *Stop | |
− | + | *Reboot | |
− | + | *Shutdown | |
− | + | *Reinstall | |
− | + | *Spice Console | |
− | + | *noVNC console | |
− | + | *Xterm.js Console | |
− | + | *Information | |
− | + | *IP Set | |
− | + | *Graphs | |
− | + | *Available Resources | |
− | + | *IP Addresses | |
− | + | *Migrate | |
− | + | *User Details | |
− | + | *Reconfigure Network | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
Line 1,890: | Line 1,975: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_30_6_1.png]] |
|} | |} | ||
{| | {| | ||
Line 1,896: | Line 1,981: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_30_6_2.png]] |
|} | |} | ||
{| | {| | ||
Line 1,915: | Line 2,000: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_30_6_4.png]] |
|} | |} | ||
{| | {| | ||
Line 1,932: | Line 2,017: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_30_6_6.png]] |
|} | |} | ||
{| | {| | ||
Line 1,938: | Line 2,023: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_30_6_7.png]] |
|} | |} | ||
{| | {| | ||
Line 1,953: | Line 2,038: | ||
|} | |} | ||
− | === | + | ===Tools=== |
+ | ====Logs==== | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 30px 15px;"|The '' 'Logs' '' section under the '' 'Other' '' tab is where the module logs are stored.<br/> You can filter the module logs by type with the '' 'Show' '' buttons.<br/> |
− | + | For precise details on Logs, please refer to our dedicated documentation article, which you may find [https://www.docs.modulesgarden.com/Logs here]. | |
− | + | ||
− | For | + | |
− | + | ||
− | + | ||
|} | |} | ||
+ | <!--{| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_Logs.png]] | ||
+ | |}--> | ||
+ | |||
+ | ====Cron Scheduler==== | ||
{| | {| | ||
− | |style="padding: 0px | + | |style="padding: 10px 0px 15px 15px;"|Cron Scheduler allows you to define and automate the execution of module-specific commands at set intervals.<br/> It automatically handles all recurring cron jobs, so there's no need to configure and run each one manually. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_5_0.png]] |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|All cron jobs listed in '' 'General Settings' '' that are meant to run regularly (excluding one-time tasks) are automatically added to the scheduler when the module is activated.<br/> |
+ | There is no need to manually add them. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_5_1.png]] |
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 15px;"|Set the desired interval for each cron job (e.g., every 5 minutes, hourly). |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_5_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Configure and activate the main scheduler cron job, recommended to run every 1 minute. | ||
+ | This cron will handle the execution of all configured tasks. Scheduler cron command: | ||
+ | php -q /yourWHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php scheduler:run | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|If needed, you can trigger any cron job manually using the Run Command button.<br/> | ||
+ | The command will be queued for immediate execution with the next scheduler run, typically within one minute, ignoring its regular schedule. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_5_3.png]] | ||
|} | |} | ||
− | === | + | ====Queue==== |
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"| | + | |style="padding: 10px 0px 15px 15px;"|At the top of this section, you will find information regarding the cron job.<br/> |
+ | The task cards can be used to filter the task table underneath. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_11.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"| | + | |style="padding: 0px 0px 15px 15px;"|Cron job tasks sent to the server through the module can be viewed and managed here. <br/> The basic information includes: |
+ | *'''ID''' - identification number unique to each task. | ||
+ | *'''Related Item''' - the product related to the task. Clicking on it will take you to its product page. | ||
+ | *'''Status''' - the current status of the task (finished, running, pending, waiting or error). | ||
+ | *'''Task''' - specific action that the task attempts to run, these are: | ||
+ | ** Lock Account | ||
+ | ** Suspend Resources | ||
+ | ** Unsuspend Resources | ||
+ | ** Terminate Resources | ||
+ | *'''Attempts''' - the number of times the task was attempted. | ||
+ | *'''Created At''' - the date when the task was first created. | ||
+ | *'''Updated At''' - the date when the status of the task was last updated. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"| On the right side of the tasks list, you will find the action buttons. These are in order: | ||
+ | *'''Details''' - access more in-depth information about the task, including error logs. | ||
+ | *'''Run''' - attempt to run the task one more time. | ||
+ | *'''Delete''' - remove the task from the queue and the list. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_11_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"| Moreover, you can change additional settings by clicking on the three dots above the basic actions. | ||
+ | *'''Auto Prune''' - toggle the switch on to enable the task auto prune feature, which will delete the tasks after the specified time has passed. | ||
+ | *'''Auto Prune Older Than''' - specify the number of days that have to pass before a task is automatically pruned. | ||
+ | *'''Display 'Cron Job Configuration' Hint''' - disable to hide the cron job information.<br/> | ||
− | + | Remember to make use of the search bar when you need to find a specific task, and the mass action feature when you need to delete multiple tasks at once. | |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_11_2.png]] |
|} | |} | ||
+ | |||
+ | ====[https://www.docs.modulesgarden.com/Translations_Tool Translations]==== | ||
{| | {| | ||
− | |style="padding: 0px | + | |style="padding: 10px 0px 15px 15px;"|Customizing language files is now extremely easy with the '' "Translations" '' tool that is now available directly in the addon.<br.> Its user-friendly design makes managing various language file tweaks a smooth and efficient process. <br/> |
+ | Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it [https://www.docs.modulesgarden.com/Translations_Tool here]. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_translations.png]] |
|} | |} | ||
+ | |||
+ | ====Media Library==== | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 10px 0px 15px 15px;"|The media library allows you to upload images for use elsewhere in the module by admins and clients.<br/> |
+ | To upload a new picture, click on the '' 'Upload Image' '' button.<br/> | ||
+ | '''''Note:''' The icons used in the Media Library by default are provided by [https://github.com/simple-icons/simple-icons Simple Icons] and are licensed under the [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0 Universal (Public Domain Dedication)] license.'' | ||
+ | |||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_10.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|You can delete images one by one by clicking on them.<br/> | ||
+ | To delete all images at once, use the additional action button. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_10_1.png]] | ||
|} | |} | ||
===Widget=== | ===Widget=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Proxmox VE VPS For WHMCS features a dedicated widget that displays crucial information about the module right in the WHMCS dashboard.<br/> | + | |style="padding: 10px 0px 15px 15px;"|Proxmox VE VPS & Cloud For WHMCS features a dedicated widget that displays crucial information about the module right in the WHMCS dashboard.<br/> |
The information displayed includes: | The information displayed includes: | ||
* '''Faulty VM Deployments''' - a list of virtual machines that failed to be created. | * '''Faulty VM Deployments''' - a list of virtual machines that failed to be created. | ||
Line 2,037: | Line 2,182: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"| You can change the height of the widget by editing the '' 'widget.tpl' '' file located in '' '/whmcs/modules/widgets/ModulesGardenProxmoxAddon/templates'.''<br/> |
Find this code fragment: | Find this code fragment: | ||
<code> | <code> | ||
<style> | <style> | ||
− | # | + | #MGProxmoxVeVpsCloudWidget{ |
height: 300px; | height: 300px; | ||
} | } | ||
Line 2,050: | Line 2,195: | ||
<code> | <code> | ||
<style> | <style> | ||
− | # | + | #MGProxmoxVeVpsCloudWidget{ |
height: 300px; | height: 300px; | ||
max-height: none !important; | max-height: none !important; | ||
Line 2,057: | Line 2,202: | ||
</code> | </code> | ||
Now you will be able to adjust the widget's height by editing the <code>height: value;</code> from the default '' '300px' '' to any value that fits your needs. | Now you will be able to adjust the widget's height by editing the <code>height: value;</code> from the default '' '300px' '' to any value that fits your needs. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|To configure the widget's visible options, navigate to '''Settings → General Settings → Proxmox VE Widget Features''' section. <br/> In this section, you can choose which data should be displayed on the WHMCS dashboard. The following features can be enabled or disabled: | ||
+ | * Faulty VM Deployments - Show information about unsuccessful VM provisioning attempts. | ||
+ | * Failed Tasks - Display a list of recent failed operations within Proxmox VE. | ||
+ | * Node Resources - View real-time resource usage (CPU, RAM, etc.) for each Proxmox node. | ||
+ | * Cluster Remaining Resources - Present the remaining available resources across the cluster. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_32_3.png]] | ||
+ | |} | ||
+ | |||
+ | ==Admin Area== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|In the admin area, you are able to view details and manage your clients' machines, access remote consoles, migrate VMs between nodes, assign IP addresses and view resource usage graphs.<br /> All visible features can be turned on and off in the ''Proxmox VE Addon → Settings → General Settings → [[#Admin_Area_Features|Admin Area Features]]''. | ||
+ | |||
+ | # Firstly, there are the standard module commands that you can perform on the VM. | ||
+ | # Among them, you will find actions to: | ||
+ | ## Manage the status of the machine, | ||
+ | ## Access to remote consoles | ||
+ | ## Migrate the server between nodes. <br/> You may enable '' 'Online' '' migration (no need to shut down the server before migration) and toggle '' 'Migration With Local Disks' '' which might take a while. | ||
+ | # In this panel you will also find the basic information about the VM. | ||
+ | # Moreover, you can change the VM hostname, ISO image, bootable devices as well as insert the SSH public key. | ||
+ | |||
+ | '''''Note:''' The "Move Product/Service" action is not supported due to WHMCS limitations, and the fact that there are no hooks that would allow to catch such an event.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_26.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|It is possible to fetch information of network interfaces and OS using the 'Qemu Guest Agent' tool. <br/> | ||
+ | This option must be previously enabled in the product configuration, and successfully installed on the VM. Afterward, it should look similar to the image below. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_27_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|In the next panel, you can find IPv4 and IPv6 addresses assigned to the VM.<br/> You can either delete or add an IP address to a product. To perform the latter action, press '' 'Add New IP' '' as shown on the following screen. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_27.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Fill in the fields to add a new IP address. At the bottom, there is a switcher '' 'Create Network''' which, when on, forces assigning this IP address via Cloud-Init if that has been enabled and configured properly. <br/> | ||
+ | '''''Important:''' Create Network option works for KVM configuration only.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_27_0.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Additionally, until the VM has been provisioned, you can manually assign to it the desired IP addresses from the pool by typing them in the '' 'Assigned IPs' '' field (available for the '' 'Dedicated/VPS Server' '' product type).<br/>This will override the automatic IP address assignment, and the VM will use only the IP addresses you have entered in the mentioned field.<br/> | ||
+ | '' '''Note:''' The IP addresses you provide must already exist in the IP Management pool, and cannot be assigned to any other VM. This feature will not work if you already use the IP Manager For WHMCS module.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_27_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|In the next two panels, you can view IPSet information as well as reinstall the VM based either on the OS or ISO template. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_27_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Graphs can be useful to monitor the usage of VM resources. You can change the interval by pressing the '' 'Edit' '' button, and simply providing a new one. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_27_4.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|In the last part of product management, you can view the user details on your Proxmox servers along with the assigned VLAN tag and SSH public key provided before the VM creation. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PVC4_27_5.png]] | ||
|} | |} | ||
==Client Area - VPS== | ==Client Area - VPS== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|The client area interface of | + | |style="padding: 10px 0px 15px 15px;"|The client area interface of '''VPS product type''' should look like the one on the screen below.<br /> |
As you can see, the control panel contains assorted options that will prove highly useful in VM management.<br /> | As you can see, the control panel contains assorted options that will prove highly useful in VM management.<br /> | ||
The module allows your customers to easily '' 'start', 'reboot', 'stop' '' and '' 'shutdown' '' their servers through pressing specific buttons.<br /> | The module allows your customers to easily '' 'start', 'reboot', 'stop' '' and '' 'shutdown' '' their servers through pressing specific buttons.<br /> | ||
Line 2,073: | Line 2,291: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_24_1.png]] |
|} | |} | ||
{| | {| | ||
Line 2,081: | Line 2,299: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_24_2.png]] |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 30px 25px;"|[[File:PX3_24_3.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_24_3.png]] | ||
+ | |} | ||
+ | |||
+ | ==Client Area - Cloud== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|Client area interface of a '''cloud-type product''' allows your clients to create their own virtual servers.<br /> | ||
+ | They can also view resources used and manage existing virtual machines. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PVC4_24_0.png]] | ||
+ | |} | ||
+ | ===New Virtual Machine=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 20px 15px;"|In order to add a new virtual machine, press the '' 'Add New Virtual Machine' '' button. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PXC4__38_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Now, provide a name of your new virtual machine and choose a proper type from the dropdown menu.<br /> | ||
+ | Moreover, you can add '' 'New Virtual Network' '' and '' 'New Additional Disk' '' here. | ||
+ | Confirm creation through pressing '' 'Confirm'. ''<br /> | ||
+ | '''''Note:''' Data to be filled in may differ according to which type LXC or KVM you have chosen.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_38.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|You can now easily '' 'Edit' '' (1) or '' 'Delete' '' (2) your virtual machine. | ||
+ | You can find information about managing your virtual servers in [https://www.docs.modulesgarden.com/Proxmox_Cloud_VPS_For_WHMCS#Client_Area-VM_Management next section]. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PXC4__39.png]] | ||
+ | |} | ||
+ | |||
+ | ===Virtual Network Management=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 20px 15px;"|Move to '' 'Virtual Networks' '' section to add, delete and edit your virtual networks.<br/> | ||
+ | Please keep in mind that this option must be enabled by administrator in your product's '' 'Module Settings' '' previously and a private IP address must be added in the Proxmox Addon.<br/> Otherwise you will not be able to add any virtual network successfully. <br/> If you have reached the set by the admin limit of allowed networks, the button will not be active either.<br/> | ||
+ | Moreover, you can also '' 'Edit' '' (1) or '' 'Delete' '' (2) existing private networks. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PXC4_60.png]] | ||
+ | |} | ||
+ | |||
+ | ===Templates Management (KVM Only)=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 20px 15px;"|Once you press '' 'Templates', '' you will be redirected to a site where you will find the list of currently created templates along with their details and access to basic actions. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_62.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|You may edit or delete existing templates. To add a new one, simply press '' 'Add Template' '' button.<br/> | ||
+ | OS templates do not consume any resources such as CPU sockets, memory etc. <br/> | ||
+ | '''Important!''' When you convert server into a template, it is consumed in the process! There is no possibility to revert it back. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PXC4_63.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Select server from dropdown menu and type in its short description. Save changes when ready. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PXC4_64.png]] | ||
|} | |} | ||
==Client Area - VM Management== | ==Client Area - VM Management== | ||
+ | ===Actions=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|In the client area, users can easily manage their virtual machines using the following actions: | ||
+ | * Start | ||
+ | * Reboot | ||
+ | * Stop | ||
+ | * Shut Down | ||
+ | * Delete | ||
+ | Additionally, clients can access their VM through one of the three supported console types. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PVC4_39_0.png]] | ||
+ | |} | ||
+ | |||
===noVNC Console=== | ===noVNC Console=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"|noVNC console | + | |style="padding: 10px 0px 20px 15px;"|The noVNC console provides the most straightforward way for clients to connect to their virtual machines directly through the browser. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC4_39_1.png]] |
|} | |} | ||
===SPICE Console=== | ===SPICE Console=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|SPICE console | + | |style="padding: 10px 0px 15px 15px;"| The SPICE console allows access to the virtual machine using the SPICE protocol. |
− | + | ||
|} | |} | ||
{| | {| | ||
Line 2,107: | Line 2,402: | ||
===Xterm.js Console=== | ===Xterm.js Console=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Xterm.js console | + | |style="padding: 10px 0px 15px 15px;"|The Xterm.js console offers another browser-based method to connect to the VM using Xterm.js.<br /> |
− | + | To enable this console in Proxmox v2.6.0 or higher, upload the required scripts from the ''UploadOnProxmoxServer/5.2-10'' directory to all your Proxmox servers. | |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PCV4_40_1.png]] |
|} | |} | ||
+ | |||
==Client Area - Additional Tools== | ==Client Area - Additional Tools== | ||
===Backups=== | ===Backups=== | ||
− | |||
− | |||
− | |||
− | |||
{| | {| | ||
|style="padding: 0px 0px 20px 15px;"|To create a single backup, press the '' 'Backups' '' button, and click on '' 'Create Backup' '' as shown on the following screen. | |style="padding: 0px 0px 20px 15px;"|To create a single backup, press the '' 'Backups' '' button, and click on '' 'Create Backup' '' as shown on the following screen. | ||
Line 2,165: | Line 2,457: | ||
===Backup Collection=== | ===Backup Collection=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Open the collection | + | |style="padding: 10px 0px 15px 15px;"|Open the backup collection to view all backups created from your virtual machines of the current product type.<br/> For example, if you are using a VPS-type service, the '''Backup Collection''' will list backups from all your other VPS-type services. Similarly, for a Cloud-type service, you will see only backups from other Cloud-type services. <br/> |
+ | You can restore the current service using any backup available in this list. | ||
|} | |} | ||
{| | {| | ||
Line 2,243: | Line 2,536: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_48_0.png]] |
|} | |} | ||
{| | {| | ||
Line 2,274: | Line 2,567: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC4_48_01.png]] |
|} | |} | ||
Line 2,293: | Line 2,586: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC4_46.png]] |
|} | |} | ||
+ | |||
===Network=== | ===Network=== | ||
{| | {| | ||
Line 2,323: | Line 2,617: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|The "Reinstallation" feature can be used to reinstall a new OS on the VM directly by the clients. <br/> | |style="padding: 10px 0px 15px 15px;"|The "Reinstallation" feature can be used to reinstall a new OS on the VM directly by the clients. <br/> | ||
− | You can allow your clients to either select a new OS from the provided KVM templates to automatically replace the system, or let them choose the ISO image for manual system installation | + | You can allow your clients to either select a new OS from the provided KVM/LXS templates to automatically replace the system, use archives, or let them choose the ISO image for manual system installation |
− | < | + | <!-- |
− | '' '''Note:''' The ISO images can only be used for the KVM virtualization type, while VM templates can be used either for KVM or LXC.<br/> Additionally, both KVM and LXC users can define the new OS password before a new installation.'' | + | '' '''Note:''' The ISO images can only be used for the KVM virtualization type, while VM templates can be used either for KVM or LXC.<br/> Additionally, both KVM and LXC users can define the new OS password before a new installation.''--> |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_38.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX4_38_1.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Remember to grant your clients access to the selected reinstallation types in the '' 'Client Area Features' '' | + | |style="padding: 0px 0px 20px 15px;"|Remember to grant your clients access to the selected reinstallation types in the '' 'Client Area Features'. '' <br/> Assign wanted '' 'Default Application Group' '' and '' 'Default Application' '' in the '''App Templates Configuration'''. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_10_3.png]] |
|} | |} | ||
Line 2,511: | Line 2,805: | ||
{| | {| | ||
|style="padding: 0px 0px 30px 15px;"|'''''Important:''' "VM Powre Tasks" require a dedicated cron job to be set up by the administrator.'' | |style="padding: 0px 0px 30px 15px;"|'''''Important:''' "VM Powre Tasks" require a dedicated cron job to be set up by the administrator.'' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 2,850: | Line 2,813: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_53.png]] |
|} | |} | ||
{| | {| | ||
Line 2,857: | Line 2,820: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_54.png]] |
|} | |} | ||
{| | {| | ||
Line 2,865: | Line 2,828: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_55.png]] |
|} | |} | ||
{| | {| | ||
Line 2,873: | Line 2,836: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_56.png]] |
|} | |} | ||
{| | {| | ||
Line 2,886: | Line 2,849: | ||
|} | |} | ||
{| class="wikitable" style="margin-left: 25px; margin-bottom: 20px" | {| class="wikitable" style="margin-left: 25px; margin-bottom: 20px" | ||
− | ! style="width:400px; text-align:center;" | KVM<br /> | + | ! style="width:400px; text-align:center;" | KVM For "VPS" Product Type<br /> |
− | ! style="width:400px; text-align:center;" | LXC<br /> | + | ! style="width:400px; text-align:center;" | LXC For "VPS" Product Type<br /> |
+ | ! style="width:400px; text-align:center;" | LXC Limits For "Cloud" Product Type<br /> | ||
+ | ! style="width:400px; text-align:center;" | KVM Limits For "Cloud" Product Type<br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | Number Of CPU Sockets |
− | | | + | | Number Of CPU Cores |
+ | | CPU Limit | ||
+ | | CPU Sockets | ||
|-<br /> | |-<br /> | ||
− | | | + | | Number Of Cores Per Socket |
− | | | + | | CPU Limit |
+ | | CPU Units Limit | ||
+ | | CPU Cores | ||
|-<br /> | |-<br /> | ||
− | | | + | | CPU Limit |
− | + | | CPU Units For The VM | |
+ | | Memory | ||
+ | | CPU Limit | ||
|-<br /> | |-<br /> | ||
− | + | | CPU Units For The VM | |
− | | | + | | Amount of RAM |
+ | | SWAP | ||
+ | | CPU Units Limit | ||
|-<br /> | |-<br /> | ||
− | | | + | | Amount of RAM |
− | | | + | | Amount of SWAP |
+ | | Storage | ||
+ | | Memory | ||
|-<br /> | |-<br /> | ||
− | | | + | | Disk Space |
− | | | + | | Disk Space |
+ | | Disk Space | ||
+ | | Storage | ||
|-<br /> | |-<br /> | ||
− | + | | Additional Disk Space (With Configurable Storage, Units And Size) | |
− | + | | Additional Disk Space (With Configurable Storage, Units And Size) | |
+ | | IPv4 Addresses | ||
+ | | IPv4 Addresses | ||
|-<br /> | |-<br /> | ||
− | | | + | | IPv4 Addresses |
− | | | + | | IPv4 Addresses |
+ | | IPv6 Addresses | ||
+ | | IPv6 Addresses | ||
|-<br /> | |-<br /> | ||
− | | | + | | IPv6 Addresses |
− | | | + | | IPv6 Addresses |
+ | | IPv6 Subnets | ||
+ | | IPv6 Subnets | ||
|-<br /> | |-<br /> | ||
− | | | + | | IPv6 Subnets |
− | | | + | | IPv6 Subnets |
+ | | Private Network | ||
+ | | Backups Size | ||
|-<br /> | |-<br /> | ||
− | | | + | | Private Network |
− | | | + | | Private Network |
+ | | Backups Size | ||
+ | | Backups Files | ||
|-<br /> | |-<br /> | ||
− | | | + | | Backups Size Limit |
− | | | + | | Backups Size Limit |
+ | | Backups Files Limit | ||
+ | | Snapshots | ||
|-<br /> | |-<br /> | ||
− | | | + | | Backups Files Limit |
− | | | + | | Backups Files Limit |
+ | | Snapshots | ||
+ | | Bandwidth | ||
|-<br /> | |-<br /> | ||
− | | | + | | Protected Backup Files Limit |
− | | | + | | Protected Backup Files Limit |
+ | | Bandwidth | ||
+ | | Network Rate | ||
|-<br /> | |-<br /> | ||
− | | | + | | Download Backup Files Option |
− | | | + | | Download Backup Files Option |
+ | | Network Rate | ||
+ | | VCPUs | ||
|-<br /> | |-<br /> | ||
− | | | + | | Restore Backup Files Option |
− | | | + | | Restore Backup Files Option |
+ | | Archive | ||
+ | | Virtual Networks | ||
|-<br /> | |-<br /> | ||
− | | | + | | Server Monitoring |
− | | | + | | Snapshots Limit |
+ | | Network Rate | ||
+ | | Snapshot Jobs | ||
|-<br /> | |-<br /> | ||
− | + | | Snapshots Limit | |
− | | | + | | Snapshot Jobs |
+ | | <br /> | ||
+ | | Storage Disk Space | ||
|-<br /> | |-<br /> | ||
− | + | | Snapshot Jobs | |
− | | | + | | Bandwidth Limit |
+ | | <br /> | ||
+ | | <br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | Bandwidth Limit |
− | | | + | | VM Template |
+ | | <br /> | ||
+ | | <br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | VM Template |
− | | | + | | Archive |
+ | | <br /> | ||
+ | | <br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | Archive |
− | | | + | | Network Rate |
+ | | <br /> | ||
+ | | <br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | Network Rate |
− | | | + | | Tag |
+ | | <br /> | ||
+ | | <br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | VCPUs |
− | | | + | | Storage Disk Space |
+ | | <br /> | ||
+ | | <br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | ISO Image |
− | | | + | | Server Monitoring |
− | | | + | | <br /> |
− | | | + | | <br /> |
− | + | ||
|-<br /> | |-<br /> | ||
− | | | + | | OS Type |
+ | | <br /> | ||
+ | | <br /> | ||
| <br /> | | <br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | Custom Cloud-Init Configuration |
+ | | <br /> | ||
+ | | <br /> | ||
| <br /> | | <br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | Cloud-Init Script |
+ | | <br /> | ||
+ | | <br /> | ||
| <br /> | | <br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | Tag |
+ | | <br /> | ||
+ | | <br /> | ||
| <br /> | | <br /> | ||
|-<br /> | |-<br /> | ||
− | | | + | | TPM |
+ | | <br /> | ||
+ | | <br /> | ||
| <br /> | | <br /> | ||
|-<br /> | |-<br /> | ||
− | + | ||
− | + | ||
|} | |} | ||
+ | |||
+ | {| | ||
|style="padding: 0px 0px 30px 15px;"|Differences between the '''cicustom''' and the '''ciscript''' configurable options:<br/> | |style="padding: 0px 0px 30px 15px;"|Differences between the '''cicustom''' and the '''ciscript''' configurable options:<br/> | ||
'''cicustom''' - it is a more advanced alternative to the "ciscript" configurable option. Using the "cicustom" option results in sending the configuration specified by the administrator.<br/> | '''cicustom''' - it is a more advanced alternative to the "ciscript" configurable option. Using the "cicustom" option results in sending the configuration specified by the administrator.<br/> | ||
'''ciscript''' - using the "ciscript" option results in passing the script ID available in Proxmox Addon, which will be uploaded to the snippet storage and passed to the Proxmox VE server during the virtual machine creation. | '''ciscript''' - using the "ciscript" option results in passing the script ID available in Proxmox Addon, which will be uploaded to the snippet storage and passed to the Proxmox VE server during the virtual machine creation. | ||
|} | |} | ||
+ | |||
<!-- | <!-- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Integration with Products Reseller For WHMCS== | ==Integration with Products Reseller For WHMCS== | ||
{| | {| | ||
Line 3,080: | Line 3,042: | ||
|style="padding: 0px 0px 30px 25px;"|[[File:PX3_58_3.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_58_3.png]] | ||
|} | |} | ||
+ | --> | ||
+ | |||
+ | <!-- | ||
==Management of Billing== | ==Management of Billing== | ||
Line 3,096: | Line 3,061: | ||
|style="padding: 0px 0px 30px 25px;"|[[File:PX3_58.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_58.png]] | ||
|} | |} | ||
+ | --> | ||
− | == | + | ==Importing Existing Virtual Machines== |
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"| | + | |style="padding: 10px 0px 15px 15px;"|Our module allows you to easily import VM into your product.<br /> |
− | + | To do so, press '' 'Import Virtual Machine' '' as shown on the following screen. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC4_45_3.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|Afterwards, choose the preferred virtual machine from the dropdown menu and complete the '' 'Password' '' field.<br /> |
− | + | Confirm importing through pressing the '' 'Confirm' '' button. | |
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PXC3_45_4.png]] |
− | + | ||
− | + | ||
|} | |} | ||
Line 3,138: | Line 3,094: | ||
The "Create" action is triggered on the assigned server due to the '' 'Server-Node' '' option enabled. | The "Create" action is triggered on the assigned server due to the '' 'Server-Node' '' option enabled. | ||
|} | |} | ||
+ | |||
=Use Cases= | =Use Cases= | ||
{| | {| | ||
Line 3,146: | Line 3,103: | ||
==Selling Predefined Windows Virtual Machines== | ==Selling Predefined Windows Virtual Machines== | ||
{| | {| | ||
− | |style="padding: 10px 0px 5px 15px;"| | + | |style="padding: 10px 0px 5px 15px;"|The '''Proxmox VE VPS & Cloud For WHMCS''' module allows you to offer predefined, ready-to-deploy Windows-based virtual machines to your clients. This setup is applicable to Kernel-based Virtual Machines (KVM) only. <br/ > |
− | '''Proxmox VE VPS For WHMCS''' | + | Follow the steps below to create a Windows VM template, configure it using the App Templates feature, and link it with your WHMCS product settings. |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 5px 15px;"| ''' | + | |style="padding: 0px 0px 5px 15px;"|'''1. Prepare a Windows template in Proxmox:'''<br/> |
− | + | ||
− | + | * Start a new virtual machine with a Windows Installer ISO file mounted. | |
− | + | * Make sure the '' 'OS Type' '' in the virtual machine's options is set to '''Windows'''. | |
− | + | * Install '' 'Windows Operating System' '' on the virtual machine. | |
− | + | * After installation, add the '' 'Qemu Guest Agent.' '' The module will auto-detect it if the OS is correctly set as Windows. | |
− | + | * Power off the VM and remove the virtual CD drive if no longer needed. | |
− | + | * Convert this VM into a template directly from the Proxmox interface. | |
+ | * If you are using '' 'Shared Storage,' '' upload the template there. If not, manually copy the template to all relevant nodes. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''2. Configure App Templates in the Proxmox VE VPS & Cloud For WHMCS addon.'''<br/> The '''App Templates''' feature simplifies template management and provisioning. To define and use your Windows template:<br/> |
− | + | ||
+ | * Access the Proxmox addon and navigate to the ''App Templates → Applications'' section. | ||
+ | * As the template was just added on the server, click '''"Refresh list"''' to fetch the latest available templates. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_1.png]] |
|} | |} | ||
− | |||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 15px;"|Move to ''App Templates → Groups'', create a group of applications with your template. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_2.png]] |
|} | |} | ||
− | |||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"| | + | |style="padding: 0px 0px 15px 15px;"|'''3. Configure the product's module settings:''' <br/> |
+ | |||
+ | In the ''App Templates Configuration'', choose the ''Default Application Group''' that includes your predefined Windows template.<br/> This group will be used to automatically generate the corresponding configurable options for application selection. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_3.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Again in the module settings, enable the '''Guest Agent''' option to ensure proper interaction between the virtual machine and the module. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_4.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Generate a configurable option named '''app|Application''' to allow clients to select from the available app templates ''(including Windows-based ones from the Default Application Group)'' during the ordering process. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_5.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|When placing an order, clients will see a dropdown with applications you have configured. <br/>They can select the Windows template, which will then be used to provision their server accordingly. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_UC_6.png]] | ||
|} | |} | ||
Line 3,185: | Line 3,162: | ||
{| | {| | ||
|style="padding: 10px 0px 5px 15px;"| | |style="padding: 10px 0px 5px 15px;"| | ||
− | '''Proxmox VE VPS For WHMCS''' can be used to sell predefined Linux-based virtual machines. Follow the instructions below | + | '''Proxmox VE VPS & Cloud For WHMCS''' can be used to sell predefined Linux-based virtual machines. Follow the instructions below to prepare a Linux virtual machine template and configure the module. <br/> |
Keep in mind that the instructions are for Kernel-based Virtual Machines (KVM) only. | Keep in mind that the instructions are for Kernel-based Virtual Machines (KVM) only. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 5px 15px;"|''' | + | |style="padding: 0px 0px 5px 15px;"|'''1. Prepae a template virtual machine in Proxmox:''' <br/> |
− | + | Create a Cloud-Init template virtual machine based on the official [https://pve.proxmox.com/wiki/Cloud-Init_Support documentation]. <br/> | |
− | + | If you would like to make additional customizations to the template (e.g., enabling login with a password or allowing root access via SSH): | |
− | + | * Create a new virtual machine based on the template from step 1. | |
− | + | * Log in to the virtual machine. | |
− | + | * Apply the desired changes. | |
− | + | * Convert the modified VM into a new template.<br/> | |
− | + | If you are using shared storage, upload the template there. If shared storage is not used, ensure that the template is uploaded to each node manually. | |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''2. Configure App Templates in the Proxmox VE VPS & Cloud For WHMCS addon.'''<br/> The '''App Templates''' feature simplifies the management and provisioning of predefined templates.<br/> | ||
+ | |||
+ | * Go to the Proxmox VE VPS & Cloud addon and navigate to the '''App Templates → Applications''' section. | ||
+ | * Since the template was recently added on the server, click '''"Refresh List"''' to load the latest templates. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_7.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Then go to '''App Templates → Groups''' and create a group of applications that includes your Linux template. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_8.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''3. Configure the product's module settings:''' <br/> | ||
+ | |||
+ | In the ''App Templates Configuration'', choose the '''Default Application Group''' that contains your predefined Linux template.<br/> This group will automatically generate the corresponding configurable options for application selection.<br/> | ||
+ | These applications will also be available in the "Reinstallation" section of the client area, allowing clients to reinstall their servers at any time. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_9.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Still in the module settings, enable the '' 'Cloud-Init' '' option to ensure proper integration between the module and the virtual machine. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_10.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Enable the '''"Reinstallation"''' feature in the '''Client Area Features''' section to give clients access to this functionality. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_11.png]] |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px | + | |style="padding: 0px 0px 20px 15px;"|Generate a configurable option named '''app|Application''' o allow clients to choose from the available app templates (including those from the Default Application Group) during the ordering process.<br/> |
+ | Optionally, set pricing for the '' 'app|Application' '' configurable options via System Settings → Products/Services → [[#Configurable_Options|Configurable Options]]. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_5.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|When placing an order, clients will see a dropdown menu with the application templates you've configured.<br/> They can select the desired Linux template, which will then be used to provision their server. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_13.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px | + | |style="padding: 0px 0px 20px 15px;"|Clients can reinstall their virtual machines using any of the templates available in their assigned group. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_UC_14.png]] |
|} | |} | ||
==Connecting Multiple VPS Machines Into One Private Network== | ==Connecting Multiple VPS Machines Into One Private Network== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Proxmox VE VPS For WHMCS allows connecting multiple VPS machines into one private network.<br/> To do so, you will need at least 2 virtual machines. In our case, the hostname of the first virtual machine is: '' 'virtualmachine1.com' '' and the hostname of the second one is: '' 'virtualmachine2.com.' '' <br/> | + | |style="padding: 10px 0px 15px 15px;"|Proxmox VE VPS & Cloud For WHMCS allows connecting multiple VPS machines into one private network.<br/> To do so, you will need at least 2 virtual machines. In our case, the hostname of the first virtual machine is: '' 'virtualmachine1.com' '' and the hostname of the second one is: '' 'virtualmachine2.com.' '' <br/> |
First, pick one of the machines and navigate to '' 'Additional Tools' '' → '' 'Network' '' in your client area. | First, pick one of the machines and navigate to '' 'Additional Tools' '' → '' 'Network' '' in your client area. | ||
|} | |} | ||
Line 3,253: | Line 3,263: | ||
==Selling Virtual Machine Upgrades== | ==Selling Virtual Machine Upgrades== | ||
{| | {| | ||
− | |style="padding: 10px 0px 5px 15px;"|Proxmox VE VPS For WHMCS integrates WHMCS '' 'Upgrades' '' and '' 'Configurable Options' '' to enable clients to change their virtual machine's specification. | + | |style="padding: 10px 0px 5px 15px;"|Proxmox VE VPS & Cloud For WHMCS integrates WHMCS '' 'Upgrades' '' and '' 'Configurable Options' '' to enable clients to change their virtual machine's specification. |
See the instructions below on how those functions work with the module. <br/> Please note that: | See the instructions below on how those functions work with the module. <br/> Please note that: | ||
*When an upgrade is performed and the template of the virtual machine changes, the machine will always be reinstalled. | *When an upgrade is performed and the template of the virtual machine changes, the machine will always be reinstalled. | ||
Line 3,265: | Line 3,275: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_15.png]] |
|} | |} | ||
{| | {| | ||
Line 3,271: | Line 3,281: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_16.png]] |
|} | |} | ||
{| | {| | ||
Line 3,332: | Line 3,342: | ||
==Selling Additional Storage== | ==Selling Additional Storage== | ||
{| | {| | ||
− | |style="padding: 10px 0px 5px 15px;"|'''Proxmox VE VPS For WHMCS''' can take advantage of the '' 'Configurable Options' '' function to allow admins to sell additional storage space to their clients.<br/> Follow the instructions below, to see how to set up additional storage space options for your clients. | + | |style="padding: 10px 0px 5px 15px;"|'''Proxmox VE VPS & Cloud For WHMCS''' can take advantage of the '' 'Configurable Options' '' function to allow admins to sell additional storage space to their clients.<br/> Follow the instructions below, to see how to set up additional storage space options for your clients. |
|} | |} | ||
{| | {| | ||
Line 3,419: | Line 3,429: | ||
==Scheduling Backups== | ==Scheduling Backups== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|'''Proxmox VE VPS For WHMCS''' can be used to plan and handle scheduled backups. This feature in conjunction with limiting backup tasks per node can substantially offload your Proxmox platform.<br/> | + | |style="padding: 10px 0px 15px 15px;"|'''Proxmox VE VPS & Cloud For WHMCS''' can be used to plan and handle scheduled backups. This feature in conjunction with limiting backup tasks per node can substantially offload your Proxmox platform.<br/> |
To start scheduling backups navigate to '' 'Additional Tools' '' → '' 'Backup Schedules' '' and click on '' 'Create Backup Schedule'.''<br/> | To start scheduling backups navigate to '' 'Additional Tools' '' → '' 'Backup Schedules' '' and click on '' 'Create Backup Schedule'.''<br/> | ||
Alternatively, you can prepare [[#Including_Predefined_Backup_Schedules|templates]] to automate this process.<br/> | Alternatively, you can prepare [[#Including_Predefined_Backup_Schedules|templates]] to automate this process.<br/> | ||
− | '''''Note:''' Make sure that backup schedules are enabled in the product's module settings under '[[# | + | '''''Note:''' Make sure that backup schedules are enabled in the product's module settings under '[[#VPS_-_KVM_Virtualization_Type|Client Area Features]]'.'' |
|} | |} | ||
Line 3,429: | Line 3,439: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"| A configuration window for the first schedule will open. Set up as many schedules as you need. | + | |style="padding: 0px 0px 15px 15px;"|A configuration window for the first schedule will open. Set up as many schedules as you need. |
*'''Start Time''' - The time when the task for a backup will be issued. Make sure the time you input meets the format: 24-hour time notation with the zeroes included. For example, 07:05, 20:30 | *'''Start Time''' - The time when the task for a backup will be issued. Make sure the time you input meets the format: 24-hour time notation with the zeroes included. For example, 07:05, 20:30 | ||
*'''Day of the Week''' - The days the backups should occur each week. | *'''Day of the Week''' - The days the backups should occur each week. | ||
Line 3,443: | Line 3,453: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 25px;"|Now that the backups are scheduled, they will be mostly handled by the module, but you can further reduce the stress put on your Proxmox platform by limiting backup-related tasks per node.<br/> | |style="padding: 0px 0px 15px 25px;"|Now that the backups are scheduled, they will be mostly handled by the module, but you can further reduce the stress put on your Proxmox platform by limiting backup-related tasks per node.<br/> | ||
− | Open the Proxmox | + | Open the Proxmox VE VPE & Cloud addon in your admin area and navigate to '' 'General Settings' ''. Find the '' 'Default Limit of Backup Tasks Per Node' '' and reduce the number, decreasing the load on your Proxmox platform.<br/> |
Remember to save changes each time you change the limit. | Remember to save changes each time you change the limit. | ||
|} | |} | ||
Line 3,452: | Line 3,462: | ||
==Including Predefined Backup Schedules== | ==Including Predefined Backup Schedules== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|You can include scheduled backup templates with '''Proxmox VE VPS For WHMCS''' products. This negates the need to set up backup schedules for each client.<br/>A template only has to be prepared once and will be included with every product you choose. <br/> | + | |style="padding: 10px 0px 15px 15px;"|You can include scheduled backup templates with '''Proxmox VE VPS & Cloud For WHMCS''' products. This negates the need to set up backup schedules for each client.<br/>A template only has to be prepared once and will be included with every product you choose. <br/> |
− | To set up a template, open the Proxmox | + | To set up a template, open the Proxmox VE VPS & Cloud addon and navigate to '' 'Settings' '' → '' 'Scheduled Backups Templates', '' click on '' 'Create Scheduled Backups Template' '' and name the template. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_17.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Next, click on '' 'Create Task Template' '' and define the following details. You can create multiple task templates. | + | |style="padding: 0px 0px 15px 15px;"|Next, edit the just created template, click on '' 'Create Task Template' '' and define the following details. You can create multiple task templates. |
*'''Start Time''' - The time when the task for a backup will be issued. Make sure the time you input meets the format: 24-hour time notation with the zeroes included. For example, 07:05, 20:30 | *'''Start Time''' - The time when the task for a backup will be issued. Make sure the time you input meets the format: 24-hour time notation with the zeroes included. For example, 07:05, 20:30 | ||
*'''Day of the Week''' - The days the backups should occur each week. | *'''Day of the Week''' - The days the backups should occur each week. | ||
− | *'''Compression | + | *'''Compression Type''' - Compression method to be used. |
*'''Backup Mode''' - Decide on the backup mode. | *'''Backup Mode''' - Decide on the backup mode. | ||
*'''Send Email Message''' - Decide if an email notification about the backup should be sent always, never, or only on failure. | *'''Send Email Message''' - Decide if an email notification about the backup should be sent always, never, or only on failure. | ||
Line 3,475: | Line 3,485: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_UC_18.png]] |
|} | |} | ||
==Including Predefined Firewall Settings== | ==Including Predefined Firewall Settings== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|You can include firewall templates with '''Proxmox VE VPS For WHMCS''' products, which eliminates the need to set up firewall settings for each individual client.<br/> A template only needs to be prepared once and will be included with every product.<br/> | + | |style="padding: 10px 0px 15px 15px;"|You can include firewall templates with '''Proxmox VE VPS & Cloud For WHMCS''' products, which eliminates the need to set up firewall settings for each individual client.<br/> A template only needs to be prepared once and will be included with every product.<br/> |
− | To set up a template, open the Proxmox | + | To set up a template, open the Proxmox VE VPS & Cloud addon, navigate to '' 'Settings' '' → '' 'Firewall Templates','' click on '' 'Create Template','' and name the template. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PVC_UC_19.png]] |
|} | |} | ||
{| | {| | ||
Line 3,503: | Line 3,513: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PVC_UC_20.png]] |
|} | |} | ||
+ | |||
==Incorporating Operating Systems Groups== | ==Incorporating Operating Systems Groups== | ||
{| | {| | ||
Line 3,558: | Line 3,569: | ||
|style="padding: 0px 0px 30px 25px;"|[[File:PX3_63_6.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_63_6.png]] | ||
|} | |} | ||
+ | |||
==Using Load Balancer== | ==Using Load Balancer== | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"|'''Proxmox VE VPS For WHMCS''' includes a load balancer feature that can help you make sure your server resources are used efficiently. Some of the possible setups include: | + | |style="padding: 10px 0px 30px 15px;"|'''Proxmox VE VPS & Cloud For WHMCS''' includes a load balancer feature that can help you make sure your server resources are used efficiently. Some of the possible setups include: |
*Setting up an equal number of virtual machines on each node. | *Setting up an equal number of virtual machines on each node. | ||
*Migrating virtual machines on upgrade when a node runs out of free space. | *Migrating virtual machines on upgrade when a node runs out of free space. | ||
Line 3,603: | Line 3,615: | ||
==Changing Bandwidth Usage Reset Date== | ==Changing Bandwidth Usage Reset Date== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|By default the bandwidth usage in Proxmox VE VPS For WHMCS resets each month, on the day of the product registration.<br/> | + | |style="padding: 10px 0px 15px 15px;"|By default the bandwidth usage in Proxmox VE VPS & Cloud For WHMCS resets each month, on the day of the product registration.<br/> |
If the product was first registered 21st of March, the bandwidth will reset on the 21st of each month. | If the product was first registered 21st of March, the bandwidth will reset on the 21st of each month. | ||
|} | |} | ||
Line 3,617: | Line 3,629: | ||
|style="padding: 0px 0px 30px 25px;"|[[File:PX3_65.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_65.png]] | ||
|} | |} | ||
− | ==Providing rDNS Management for Proxmox VE VPS== | + | |
+ | ==Providing rDNS Management for Proxmox VE VPS & Cloud== | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|With '''DNS Manager For WHMCS''', you can offer clients the ability to manage rDNS records for IP addresses allocated to their ordered servers.<br/> | |style="padding: 10px 0px 15px 15px;"|With '''DNS Manager For WHMCS''', you can offer clients the ability to manage rDNS records for IP addresses allocated to their ordered servers.<br/> | ||
− | Learn more about this feature and how it integrates with Proxmox VE VPS in a [https://www.docs.modulesgarden.com/DNS_Manager_For_WHMCS#Delivering_DNS_Zone_Management_With_rDNS_For_Ordered_Servers dedicated section] of DNS Manager For WHMCS documentation page. | + | Learn more about this feature and how it integrates with Proxmox VE VPS & Cloud in a [https://www.docs.modulesgarden.com/DNS_Manager_For_WHMCS#Delivering_DNS_Zone_Management_With_rDNS_For_Ordered_Servers dedicated section] of DNS Manager For WHMCS documentation page. |
|} | |} | ||
{| | {| | ||
Line 4,150: | Line 4,163: | ||
<br/> | <br/> | ||
− | ''' Important:''' After upgrading the module to the newest version please '''first''' enter to the '''Proxmox addon''' in your WHMCS before setting up the product or opening it from admin or client area!<br/> Otherwise, when you try to open the product's module settings, you may get '' SQLSTATE" "Base table or view not found" '' errors.<br/> | + | ''' Important:''' After upgrading the module to the newest version please '''first''' enter to the '''Proxmox VE VPS & Cloud addon''' in your WHMCS before setting up the product or opening it from admin or client area!<br/> Otherwise, when you try to open the product's module settings, you may get '' SQLSTATE" "Base table or view not found" '' errors.<br/> |
− | + | ||
− | + | ||
|} | |} | ||
+ | |||
=Upgrade Guide= | =Upgrade Guide= | ||
{| | {| | ||
Line 4,161: | Line 4,173: | ||
Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. | Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. | ||
+ | |} | ||
+ | ==Module Upgrade From V3.X to V4.X== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 5px 15px;"|'''Upgrading from version 3.X to 4.0? '''<br/> | ||
+ | Please note that version '''4.0 is currently in the beta phase'''. We highly recommend installing it in a '''development environment''' first, testing the new unified functionality, and sharing your feedback, which is greatly appreciated.<br/> Your input will help us quickly finalize and release a stable version of the module.<br/> | ||
+ | |||
+ | As part of the upgrade, the product has undergone a '''name change''', and the license file has been '''relocated to the addon'''.<br/> | ||
+ | '''''Important:''' You will need to '''reissue your license''' for the changes to take effect.'' | ||
+ | |||
+ | At this stage, '''no automatic migration tool is available'''. This means that '''products and their module settings need to be configured from scratch'''.<br/> However, it is possible to import existing virtual machines of the '''cloud type''' into the module once a new product is created.<br/> | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|To do this, simply open the desired product page in the admin area and click the '''"Import Virtual Machine"''' button, as shown in the screenshot below. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PXC3_45_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Afterward, select the desired virtual machine from the dropdown menu and fill in the ''Password'' field.<br /> | ||
+ | To complete the process, click the ''Confirm'' button. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PXC3_45_4.png]] | ||
|} | |} | ||
Latest revision as of 14:32, 24 April 2025
This article is currently being updated - you may encounter broken links, outdated descriptions, or missing images.
Additionally, the product has undergone major changes, including a name change and relocation of the license file to the addon.
Please note: You will need to reissue your license for the changes to take effect.
We apologize for any inconvenience and appreciate your understanding.
[edit] About Proxmox VE VPS & Cloud For WHMCS WHMCS
Proxmox VE VPS & Cloud For WHMCS is a powerful module that combines the features of Proxmox VE VPS and Proxmox VE Cloud into a single, all-in-one solution. It allows you to automatically provision virtual servers and give clients the flexibility to create, remove, and resize their instances within defined resource limits. Your customers can manage backups, firewall settings, and access noVNC, SPICE, or Xterm.js console, directly in WHMCS. ModulesGarden is official Proxmox Solution Partner and this module is recommended by Proxmox Server Solutions GmbH. |
- Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Service: |
✔ VPS Type Product With Single VM Machine |
✔ Cloud Type Product With Multiple VM Machines Created Within Defined Limits |
✔ Create/Terminate User Account |
✔ Change Package - Supports Configurable Options |
✔ Reconfigure Server Network |
✔ Boot/Reboot/Stop/Shutdown Server |
✔ Change User Role |
✔ Access noVNC, SPICE And Xterm.js Console |
✔ Migrate Server Between Nodes In The Same Cluster |
✔ Reinstall Server |
✔ Change Server Hostname, ISO Image, Boot Devices And SSH Public Key |
✔ View Server Status, Details And Statistics |
✔ View Graphs - With Option To Change Time Scale of MRTG Graphs |
✔ Display Disk And Bandwidth Usage Of Each Product |
✔ Display CPU And Memory Usage Of Each Product |
✔ Display IP Sets (KVM) |
✔ Auto Node - Automatically Create VM On Node With Most Free Space |
✔ Configure Client Area Features Per Product |
✔ Configure Network And Private Network Settings With SDN Support |
✔ Import IP Address To Hosting IP Addresses Table |
✔ Return IP Address To IP Addresses Subnet |
✔ Add Additional IP Address To VM |
✔ Add Additional Disks Storage To VM (KVM) |
✔ Enable Qemu Guest Agent (KVM) |
✔ Enable Backups Routing |
✔ Enable Auto VM Backups Before Reinstallation |
✔ Enable Load Balancer |
✔ Receive Notifications About VM Upgrades And Creation Failures |
- Proxmox Addon Features:
✔ Display Servers: |
✔ List Per VPS And Cloud |
✔ VMs List |
✔ Clusters List |
✔ Cleaner - Manage VM Not Existing In Your WHMCS |
✔ Templates - Convert KVM VPS To KVM Template |
✔ Settings |
✔ Groups |
✔ Recovery VM Configurations List With Export To Backup File |
✔ Task History |
✔ Statuses, Resources Usage, IP Assignments And Details |
✔ Manage Public And Private IP Addresses Per Server/VLAN/Tag/Node/Bridge: |
✔ IPv4 Addresses |
✔ IPv6 Addresses |
✔ IPv6 Subnets |
✔ View Logs Of IP Assignment Changes |
✔ Configure App Templates: |
✔ Applications |
✔ KVM/LXC Templates |
✔ ISO Images |
✔ KVM/LXC Archives |
✔ Create And Manage Custom Cloud-Init Scripts Per App Template |
✔ Create Application Groups And Assign App Templates |
✔ Define VM IDs Ranges Per Server |
✔ Set Minimum VM ID For Product Without ID Ranges Defined |
✔ Configure Resource Weights For Load Balancer Prioritization |
✔ Configure Tasks Repetition Threshold And Email Notifications |
✔ Configure Backup Tasks Limitation And File Restoration Settings |
✔ Configure Console Proxy |
✔ Set Admin Area And Proxmox VE Widget Features |
✔ Configure Scheduled Backups And Firewall |
✔ View And Manage Logs |
✔ View Queue Of Scheduled Tasks |
✔ Configure Cron Scheduler Settings |
✔ Customize Module Language Files With "Translations" Tool |
✔ Manage Media Library With Logotypes For App Templates |
- Proxmox VE Widget
✔ View Faulty VM Deployments |
✔ View Failed Tasks |
✔ View Cluster Remaining Resources |
✔ View Node Resources |
- Client Area Features:
✔ Create/Manage/View Server Status, Details And Statistics: |
✔ VPS Type Product With Single VM Machine |
✔ Cloud Type Product With Multiple VM Machines Created Within Available Limits: |
✔ Define Machine Settings: |
✔ Name |
✔ Type |
✔ Description |
✔ Define Machine Parameters: |
✔ Location |
✔ Sockets (KVM) |
✔ Cores (LXC) |
✔ vCPU (KVM) |
✔ CPU Priority |
✔ VM RAM |
✔ SWAP (LXC) |
✔ Disk Size |
✔ Default User (KVM) |
✔ Password |
✔ SSH Key |
✔ Search Domain (KVM) |
✔ Name Servers (KVM) |
✔ Add Virtual Networks |
✔ Add Additional Disks |
✔ Start/Reboot/Stop/Shut Down/Delete Server |
✔ Reconfigure Server Network |
✔ Access noVNC, SPICE And Xterm.js Console |
✔ Change Server Hostname, ISO Image, Boot Devices And SSH Public Key |
✔ View And Edit Public SSH Key (KVM) |
✔ Download Public And Private SSH Keys (LXC) |
✔ Create/Restore/Delete Backups Of Current Server |
✔ Manage Backups Within Defined Limits (Max Number And Size Of Files) |
✔ Restore Backups From: |
✔ Any Owned Server |
✔ Proxmox Backup Server (PBS) |
✔ Restore Backups Of: |
✔ Selected Single Files And Directories With Option To Download Them (PBS) |
✔ Full Server Backups |
✔ Manage Backup Schedules Within Defined Limits (Max Number And Size Of Files) |
✔ Protect Selected Backups From Manual Deletion And Backups Routing |
✔ Add And Manage Additional Disks |
✔ Manage Firewall Rules And Options |
✔ View Resources Usage Graphs - With Option To Change Time Scale of MRTG Graphs: |
✔ CPU |
✔ Memory |
✔ Network Traffic |
✔ Disk I/O |
✔ View Network Devices, Manage Private Interface And Attach Servers |
✔ Reinstall Server Using Templates (KVM) And ISO Images |
✔ Send Email Notifications When Server Exceeds Resource Thresholds: |
✔ Network Traffic |
✔ CPU Usage |
✔ Memory Usage |
✔ Disk Read And Write Speed |
✔ Monitor Server Health (Requires Server Monitoring For WHMCS Integration): |
✔ Create Server Monitoring Checks |
✔ View Check Result Logs |
✔ View Successful And Failed Checks Graphs |
✔ Create Server Snapshots: |
✔ Manually |
✔ Automatically: |
✔ Every Number Of Hours |
✔ Each Specified Day |
✔ View Tasks History |
✔ Manage VM Power Tasks To Automatically Start/Stop/Reboot Server At Specified Time |
✔ Display CPU, Memory, Disk And Bandwidth Usage |
✔ Choose Server Resources While Ordering And Upgrade/Downgrade Them Freely |
✔ Convert KVM VPS To KVM Template ("Cloud" Type Product) |
- Configurable Options:
✔ KVM For "VPS" Product Type: |
✔ Number Of CPU Sockets |
✔ Number Of Cores Per Socket |
✔ CPU Limit |
✔ CPU Units For The VM |
✔ Amount of RAM |
✔ Disk Space |
✔ Additional Disk Space (With Configurable Storage, Units And Size) |
✔ IPv4 Addresses |
✔ IPv6 Addresses |
✔ IPv6 Subnets |
✔ Private Network |
✔ Backups Size Limit |
✔ Backups Files Limit |
✔ Protected Backup Files Limit |
✔ Download Backup Files Option |
✔ Restore Backup Files Option |
✔ Server Monitoring |
✔ Snapshots Limit |
✔ Snapshot Jobs |
✔ Bandwidth Limit |
✔ VM Template |
✔ Archive |
✔ Network Rate |
✔ VCPUs |
✔ ISO Image |
✔ OS Type |
✔ Custom Cloud-Init Configuration |
✔ Cloud-Init Script |
✔ Tag |
✔ TPM |
✔ KVM Limits For "Cloud" Product Type: |
✔ CPU Sockets |
✔ CPU Cores |
✔ CPU Limit |
✔ CPU Units Limit |
✔ Memory |
✔ Storage |
✔ IPv4 Addresses |
✔ IPv6 Addresses |
✔ IPv6 Subnets |
✔ Backups Size |
✔ Backups Files |
✔ Snapshots |
✔ Bandwidth |
✔ Network Rate |
✔ VCPUs |
✔ Virtual Networks |
✔ Snapshot Jobs |
✔ Storage Disk Space |
✔ LXC For "VPS" Product Type: |
✔ Number Of CPU Cores |
✔ CPU Limit |
✔ CPU Units For The VM |
✔ Amount of RAM |
✔ Amount of SWAP |
✔ Disk Space |
✔ Additional Disk Space (With Configurable Storage, Units And Size) |
✔ IPv4 Addresses |
✔ IPv6 Addresses |
✔ IPv6 Subnets |
✔ Private Network |
✔ Backups Size Limit |
✔ Backups Files Limit |
✔ Snapshots Limit |
✔ Snapshot Jobs |
✔ Bandwidth Limit |
✔ VM Template |
✔ Archive |
✔ Network Rate |
✔ Tag |
✔ Storage Disk Space |
✔ Server Monitoring |
✔ LXC Limits For "Cloud" Product Type: |
✔ CPU Limit |
✔ CPU Units Limit |
✔ Memory |
✔ SWAP |
✔ Storage |
✔ Disk Space |
✔ IPv4 Addresses |
✔ IPv6 Addresses |
✔ IPv6 Subnets |
✔ Private Network |
✔ Backups Size |
✔ Backups Files Limit |
✔ Snapshots |
✔ Bandwidth |
✔ Network Rate |
✔ Archive |
✔ Network Rate |
✔ Virtual Networks |
✔ Snapshot Jobs |
✔ Storage Disk Space |
- General Info:
✔ Supports Cloud-Init (KVM) |
✔ Supports PVE And PAM Authentication |
✔ Supports KVM And LXC Virtualization |
✔ Supports Proxy For Proxmox Console Connections |
✔ Integrated With Advanced Billing For WHMCS - Actual Server Resource Usage Billing |
✔ Integrated With IP Manager For WHMCS - Complete Control And Easy Assignment Of IP Subnets (LXC) |
✔ Integrated With Products Reseller For WHMCS - End-To-End Solution For Products And Servers Reselling |
✔ Integrated With Proxmox VE Cloud VPS For WHMCS - Multiple Servers Provisioning And Management Within Set Resource Limits |
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products |
✔ Integrated With Server Monitoring For WHMCS - Monitor Server Health From Dedicated Client Area Section |
✔ Fully Integrated With Lagom WHMCS Client Theme |
✔ Multi-Language Support |
✔ Supports Proxmox VE 8.X |
✔ Supports IPv4 And IPv6 |
✔ Supports PHP 8.2 Back To PHP 8.1 |
✔ Supports WHMCS Themes "Six" And "Twenty-One" |
✔ Supports WHMCS V8.12 Back To WHMCS V8.9 |
✔ Requires ionCube Loader V14 Or Later |
✔ Easy Module Upgrade To Open Source Version |
[edit] Installation and Configuration
This tutorial will show you how to successfully install and configure Proxmox VE VPS & Cloud For WHMCS. We will guide you step by step through the whole installation and configuration process. |
Important update: This product has undergone several changes, including a name change and relocation of the license file to the addon.
You will need to reissue your license for the changes to take effect.
We apologize for any inconvenience and appreciate your understanding.
[edit] Installation
This guide will walk you through the installation and initial setup of the Proxmox VE VPS & Cloud For WHMCS. Follow the steps below to properly install the module and prepare it for use in your WHMCS system. |
1. Log in to our client area and download the module. |
![]() |
2. Extract the package and upload the files into the main WHMCS directory.
The content of the package to upload should look like this. |
![]() |
Warning: The next step is important, make sure you do not skip it! |
3. Open 'UploadOnProxmoxServer' and upload the content of the proper version on all Proxmox Virtual Environment servers into the '/' path. You should upload these files not only during the first installation of the module but also each time you update it. |
Note 1: If the version of the Proxmox server you are using is not available, choose the package with the highest version number that is lower than the one you are currently using. |
4. When you install Proxmox VE VPS & Cloud For WHMCS for the first time, you have to rename the 'license_RENAME.php' file. The file is located in 'modules/addons/proxmoxVeVpsCloud/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'. |
![]() |
5. In order to configure your license key, you have to edit the previously renamed 'license.php' file. Enter your license key between the quotation marks as presented on the following screen. |
![]() |
6. In the next step, set up the 'storage' folder as recursively writable. This folder is available at your_whmcs/modules/addons/proxmoxVeVpsCloud/ location. |
![]() |
[edit] Activation of Proxmox VE VPS & Cloud Addon
7. Firstly, activate the Proxmox VE VPS & Cloud addon. To do so, log in to your WHMCS and navigate to 'System Settings' → 'Addon Modules'. Find 'Proxmox VE VPS & Cloud' and press 'Activate'. |
![]() |
8. In the next step, you need to permit access to this module. To do so, click on the 'Configure' button, tick 'Full Administrator' and press 'Save Changes'. |
![]() |
[edit] Configuration of Server
9. Now, we will show you how to configure a new product. Go to 'System Settings' → 'Servers' and press the 'Add New Server' button. |
![]() |
10. Next, enter your server name and IP address, you may add any port in the following format: "IpAddress:Port" , that is: 10.10.10.1:8006. Enter the and password, choose the authentication type from 'Authentication' and 'Proxmox VE VPS & Cloud' from the 'Type' dropdown menus. Save changes afterward. Important: If you have problems with connection, make sure the WHMCS server can correctly connect to Proxmox. For more details refer to this article [1]. |
![]() |
11. Time to create a server group. To do so, click on 'Create Server Group'. |
![]() |
12. Enter the name, click on your previously created server, press 'Add' and afterward 'Save Changes'. |
![]() |
[edit] Configuration of Product
13. In order to create and configure a product, go to 'System Settings' → 'Products/Services' . Click on 'Create a New Group'. |
![]() |
14. Enter a product group name and press 'Save Changes'. |
![]() |
15. When you have a product group, you can assign your product to it. To create a product, click on 'Create a New Product'. |
![]() |
16. Afterward, choose your product group from dropdown menus and point its type, enter your product name and choose Proxmox VE VPS & Cloud as a module name. Press 'Continue'. 'Product Type' can be set to 'Server/VPS' but nameservers will need to be added later (here you can find instructions on how to remove them from your order template). |
![]() |
17. Now, go to the 'Module Settings' section and choose your previously created server group from the dropdown menu. The page should reload automatically after the selection. If it doesn't, you may need to click 'Save Changes' . |
![]() |
18. In the "General" part of the module settings, pick the most crucial settings that will define your product, these are:
|
![]() |
To create a virtual machine using a template, archive, or ISO image, make sure the App Templates are configured in the addon first. This ensures that the correct image is available during VM creation. For details, see the App Templates section of the documentation. |
[edit] VPS - KVM Virtualization Type
19. Setting the KVM virtualization type. Before you start configuring the KVM virtualization, we highly recommend that you familiarize yourself with the following 'Qemu/KVM Virtual Machines' Proxmox Virtual Environment wiki article. The basic fields required to create a virtual machine are filled in by default to make the initial setup simpler for you. Start your product configuration in the 'Virtual Machine Configuration' panel, where you can set up machine resources and limits or assigned IP addresses. App Templates Configuration - To create your VM based on a template, archive, or ISO image, you must first configure the App Templates in the module's addon. |
![]() |
Next, configure 'Network', 'Hard Disk', 'Backup' and so on. For KVM virtualization type, there is also the 'Guest Agent' section available. Guest Agent is used to exchange information between the virtualization server and the operating system of your virtual machine.
Remember that you need to install the Guest Agent on your KVM template in order for the function to work properly. For more info, click here |
![]() |
[edit] VPS - LXC Virtualization Type
Setting the LXC virtualization type is very similar to KVM. Before you start configuring the LXC virtualization, we highly recommend that you familiarize yourself with the following 'Linux Container' Proxmox wiki article. Just as with KVM, the basic fields required to create a virtual machine are filled in by default to make the initial setup simpler for you. Start your product configuration in the Virtual Machine Configuration panel, where you can set up such features as 'Default Storage', container resources and limits or the number of assigned IP addresses. App Templates Configuration - To create your VM based on a template, archive, or ISO image, you must first configure the App Templates in the module's addon. |
![]() |
Next, configure 'Mount Point', 'Backup', 'Network' and so on. |
![]() |
[edit] Cloud - KVM Virtualization Type
Settings of the KVM virtualization type of a Cloud-type product. There are a few sections underlined that need your attention. Please, complete carefully the 'KVM Configuration' , 'Additional Disks' , 'Client Area Features' sections. App Templates Configuration - To create your VM based on a template, archive, or ISO image, you must first configure the App Templates in the module's addon. As you can see, there are more options available. Look through them and decide which ones you want to modify and adjust to your and your clients' needs. Once you make sure that the configuration is completed, click 'Save Changes'. Important: Keep in mind that the root password is generated automatically for KVM virtualization upon its creation and reset. |
![]() |
![]() |
[edit] Cloud - LXC Virtualization Type
Settings of the LXC virtualization type of the CLoud-type product. Firstly, complete the 'General' configuration and then proceed to the 'Main Configuration' , 'LXC Configuration' and 'Network' sections. App Templates Configuration - To create your VM based on a template, archive, or ISO image, you must first configure the App Templates in the module's addon. There are more options available, so you may easily modify the configuration of your products. Once you complete everything, click on the 'Save Changes' button. |
![]() |
![]() |
![]() |
[edit] Client Area Features
20. Finally, choose which client area features shall be available in the client area. Enable the "Managed View" feature to make all virtual machine management options and actions visible to the administrator and hidden from the client. |
![]() |
[edit] Finalizing The Configuration
21. Private Network Management - in order to allow clients to manage their private networks, set up the 'Network' and 'Private Network' sections properly.
Note: Configure these three options for the KVM and LXC virtualization. Note2: For SDN Private Network type please refer to Tips section, point 12. |
![]() |
22. The next step is setting up the configuration of backups. Define backup settings in the 'Backup' section through defining 'Storage' and enabling 'Backups Routing' . |
![]() |
23. Set up server limits to control the size of created servers (Cloud-type products). |
![]() |
24. Afterward, you can create configurable options. This step is optional - if you want to take it, start by selecting which of the configurable options listed in this table you want to generate. Note: It is advisable not to generate options that you do not plan to use, or in case you want their fixed values to be taken from the module settings, rather than being flexible. Note 2: There is also an Alternative Mode available (VPS product type only), which changes the way the configurable options values are verified and calculated. More information about configurable options and their edition can be found here. |
![]() |
![]() |
25. At the end of the product configuration, you have to add a cron job as shown below (5-minute intervals are recommended).
php -q /your_whmcs/modules/addons/ProxmoxVeVpsCloud/cron/cron.php queue Do not forget to replace 'your_whmcs' with your WHMCS root location. The cron can be also executed every single minute in order to perform the action more often. Note: The queue command is also available in the addon’s Cron Scheduler. |
You have just finished the installation and configuration of the product, congratulations! Be sure to follow the below addon configuration as well to learn how to set up additional features. |
[edit] Configuration of Addon
26. Proceed to Addons → Proxmox VE VPS & Cloud → Settings → General Settings and set up the listed cron job. The addon offers a convenient tool called Cron Scheduler that allows you to automate recurring jobs.
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php remove-backups
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php backup-schedules
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php backupSync
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php migrate-backup-jobs-to-schedules --product_id=PRODUCT_ID
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php migrateSync
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php powerTasks
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php recoveryList
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php remove-snapshots
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php resourcesNotifications
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php rrddata
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php snapshots
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php task
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php update-server-usage
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php users
php -q /your_WHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php synchronize-vm-names |
![]() |
27. Next, find the 'Minimum VMID' field under the 'Cron' settings. Fill it in with a number that will be used as an ID of the first VM, the second VM will be assigned the next ID number. Define the limit of tasks that will be executed with a single cron run, just type in the required number into the 'Tasks Limit' field. Here, you may also turn on the 'Debug Mode' if you need to register module logs. |
![]() |
28. Adding a new IP address. In order to create a new product with an IP address assigned, you have to add 'Dedicated IP ' to the 'IP Addresses' list in 'Proxmox VE VPS & Cloud' addon module. |
![]() |
29. Start with defining the IP address type, choose among: 'IPv4', IPv6' and 'IPv6 subnet'. Then, depending on the selected type, provide:
|
![]() |
For "IPv6 Subnet" address type
Decide whether the created addresses will be private or not. |
![]() |
Move to the 'Details' tab. Choose a server from the 'Server' dropdown menu and define which virtualization it should be applied to through selecting it from the 'Virtualization' dropdown menu. Remember to press the 'Confirm' button when ready. |
![]() |
30. You are now able to create a new product using the previously added IP address. If you are using the KVM virtualization type, the client area with a successfully created product should look similar to the one on the screen below. |
![]() |
[edit] Proxy Installation For Console Connection
A comprehensive guide detailing the installation, update instructions, and operational flow for the Proxmox Proxy application can be found in a dedicated article accessible through the following link. We encourage you to refer to it for further insight into the Proxmox Proxy application. |
The proxy feature can be looked on as an added security boost for your infrastructure. It hides your Proxmox server so that your clients will not get to know its actual address when connecting to the server via the console in your system. |
Proxy must be connected with Proxomx server. To verify if the connection between these two is successful, you may run the following command:
curl -v https://10.10.11.48:8006 where 10.10.11.48:8006 is the node IP address. |
Before you begin the process of connecting the console to the server through a proxy, you need to download the proxy application file. The file can be found under the following link after you have logged in to your ModulesGarden account. |
1. Create a new VPS server, which you may run on a Proxmox server. It is advised to use the KVM virtualization type. Warning! The used VPS may NOT have any services running, such as: PHP, WebServer (e.g. apache, nginx) or MySQL server. |
2. Configure the network on the virtual machine, make sure the network works correctly, to do so you may use the below command:
ping modulesgarden.com If everything is fine, assure that basic server security settings have been established. |
3. Log into the machine on which you are going to set up proxy. |
4. Install the docker engine and the docker compose:
https://docs.docker.com/engine/install/ |
5. Upload the application files into a proper directory, eg: /root/proxmox-proxy (create if needed). Then unzip the files. |
6. Move to the following catalog:
cd /root/proxmox-proxy Note that the exact directory depends on the previous step where you uploaded the files. |
7. Purchase or generate your own SSL certificate, and then use the certificate to overwrite the following files: 'nginx/localhost.crt' and 'nginx/localhost.key' . |
8. Find the 'example.env' file and rename it to '.env'. Then open the just renamed '.env' file and provide a random set of signs to create the database and root passwords: DB_PASSWORD and MYSQL_ROOT_PASSWORD |
9. Run the below command:docker-compose up --build -d |
10. Move to docker container:
docker exec -it proxyphp bash and run the installation script: php -q /var/www/html/installer.php install When ready, find the API Key and keep it safe, you will need it later on when pasting the data into the Proxmox Addon, see point 12 for details. |
11. Next, copy your machine IP address to WHMCS. You may check the IP address using the below command:
ip a Note: Remember to check the IP address in your virtual machine, not in the proxyphp container. |
12. Configure all the required data in the Proxomox addon in your WHMCS. Move to 'Addons' → 'Proxmox Addon' → 'Settings'. At the bottom you will find section 'Console Proxy' with 'Host' and 'API Key' fields. Provide the necessary data and confirm the changes. |
![]() |
13. Make sure the server works. In order to do so, please open the address: https://{vmip}:8443. Remember to replace {vmip} with a valid virtual machine IP address, for example: https://192.168.8.113:8443/ |
14. Finally, try to open the noVNC console on your WHMCS Proxmox product to check if the proxy configuration is working properly. |
Important: If your certificate expires in the meantime, you will need to buy/generate a new one and follow the below steps:
docker-compose up --build -d |
Note: If you ever encounter an iconcube error while rerunning the 'docker-compose up' command, delete all local docker images related to your docker file using the following command and try again.
$ docker rmi -f $(docker images -a -q) |
For instruction on how to react in case an update is required, please refer to the dedicated article including all details on the Proxmox Proxy application. |
[edit] Configuring Servers Using Cloud-Init
If you are having trouble setting up DNS servers using Cloud-Init, this guide will help you resolve this issue quickly. 1. Enable the "Service Nameservers" option in your product configuration. |
![]() |
![]() |
![]() |
Note: The "Service Nameservers" option is only available for Server/VPS product types. |
2. Use the "Use Server Nameservers" option.
This feature automatically populates the Nameserver fields with values from your server configuration. Only the first two fields from the server will be used. |
![]() |
![]() |
[edit] Additional Storage Configuration
This is an extra option that allows for specifying additional parameters for additional disk drives. Check how to set the product to allow clients to add disks with desired space, storage type and speed within configured limits. Remember that the Additional Disks options in the module settings must be enabled. |
1. Start with creating new selections for the "Additional Disk Space" configurable option (additionalDisksSpace|Additional Disk Space), note that you have to do that manually. To create the configurable options, please remember to follow the below-presented pattern: local-lvm:3 | Disk Local-LVM Storage: 3GB Where local-lvm:3 cannot be modified, the name on the right can be freely adjusted and the unit changed. 2. Next, add an appropriate entry in the language file to display the configurable option in a user-friendly manner. Open the english.php file located in modules/servers/ProxmoxVPS/langs/english.php and find an empty string: $_LANG['storage']['local'] = 'Local'; $_LANG['storage']['local-lvm'] = 'Local-lvm'; Modify the configurable option name that is on the right from the '=' sign. 3. Consequently, clients are now given the option to add hard disk with the custom storage type. |
![]() |
[edit] Management
Proxmox VPS allows your customers to manage their PVE accounts via the client area in your WHMCS system. At the same time, you can monitor and manage each product from your WHMCS admin area. |
[edit] Management of Addon
[edit] Servers Management
[edit] Server List
In 'Addons' → 'Proxmox Addon' → 'Servers' → 'Servers List' you can find the configured Proxmox servers. RAM details:
Suspended - the number of suspended accounts per size in MB E.g.: (1/500 MB) in case there is only one suspended account that takes up 500MB assigned to the Proxmox VPS server. |
![]() |
Through pressing the 'Edit' icon, you will be moved to the server edit page - see point 10 of the Server Configuration. Press the 'More Details' icon, and you will obtain extended information on the selected server. Look below for more details. |
[edit] VMs
The 'VMs' tab includes the list of virtual machines created on this server. Take a quick look at information on the domain, status, bandwidth, and IP addresses. To view information about the VM, simply press the "More Info" icon located on the right side of the page. |
![]() |
Check the node and VMID: |
![]() |
[edit] Clusters
The next tab contains the list of clusters with information on uptime, VMS and resource limits, as well as CPU, SWAP, memory and disk usage data. Important: Limits defined in this section are taken into account by the Load Balancer function. The Check Available Resources toggle is not affected by them. |
![]() |
Press the "Edit" icon to manage the node and its limits.
Setting node limits is crucial as creating virtual machines is largely based on them, once reached, a new virtual machine cannot be created on that node. |
![]() |
Specify the 'Tasks Limit' here to set the maximum number of permitted backup tasks for the node you are currently modifying. |
![]() |
Please bear in mind that limits placed in the above section overwrite the "Default Limit of Backup Tasks Per Node" value defined in the Addon → Settings → Backup Tasks Limitation section. |
![]() |
In the last tab you may define the relation between the node and backup storage and their synchronization.
|
![]() |
Press 'Node Details' , and you will obtain all the summary and usage graphs: |
![]() |
[edit] VM Cleaner
VM Cleaner allows you to track VMs existing only on your Proxmox server, and not in your WHMCS. Consequently, you are allowed to sort and delete only those VMs that cannot be managed in your WHMCS system. |
![]() |
[edit] Templates
You can view the list of templates on this page. You can easily convert any KVM machine on your server to a template. In order to convert a VM, press the 'Create Template' button. |
![]() |
Next, choose a VM that shall be converted. Fill out the 'Description' field, and press 'confirm'. |
![]() |
You may also delete unused templates here. Delete single templates or use the mass action feature to delete templates in bulk. |
![]() |
[edit] Server Settings
Here you can define the VM IDs range that will be used for newly created machines on this server. Please note that you need to enable the "Use VM Ranges" setting in the product configuration in order to use this feature. To proceed, define the ID range and save changes. Note: VM ID range allows you to sort created machines depending on the server they were created on. |
![]() |
[edit] Node Groups
Under the 'Node Groups' subsection, you can create new groups and assign nodes to them. |
![]() |
Provide a name of your group and allot preferred nodes from the dropdown menu. |
![]() |
Now, navigate to the 'Module Settings' of your product and find the 'Miscellaneous' and 'Load Balancer' sections. Firstly, provide the 'Minimum VMID' for a VM and then select one or more of the previously created groups. |
![]() |
[edit] Service List
In 'Addons' → 'Proxmox VE VPS & Cloud' Addon → 'Servers' → 'Service List' you can find details of any Proxmox product. |
![]() |
Press the 'More Details' button to preview the node and VMID information. |
![]() |
[edit] Recovery VMs List
In 'Addons' → 'Proxmox VE VPS & Cloud' Addon → 'Servers' → 'Recovery VM List' you can view details of the created machine. Run the 'VM recovery synchronization' cron job to create and store full backups of VM configuration - you can find it in the point 25 of the configuration instructions. |
![]() |
Upon pressing the 'Details' icon, you will obtain the information on configuration, status, and DNS: |
![]() |
![]() |
![]() |
[edit] Task History
The "Task History" section includes the list of all module tasks with their most crucial details. You may delete single tasks or use the mass action button to remove them in bulk. Run the 'Tasks synchronization' cron job to synchronize the tasks, and view all tasks from the server - you can find it in the point 25 of the configuration instructions. |
![]() |
[edit] IP Management
[edit] IP Addresses
In the 'IP Management' tab, you can manage the IP addresses of Proxmox products. You can create both single IP addresses (IPv4 and IPv6 are supported), and IP pools which then can be assigned to created VMs. Important!: In order to create a virtual machine, you must previously add public IP addresses. |
![]() |
When you create a new IP address or a pool, you may define:
Note: please go back to point 27 of the addon configuration to learn more details about adding IP addresses. |
![]() |
![]() |
[edit] IP Logs
The 'IP Logs' includes the history of the IP addresses that were removed by the admin and which are again available in the proxmox addon IP Management pool. Keep in mind that only addresses that were automatically added when creating the VM. Removed IP addresses, that were the manually assigned, are not logged here. |
![]() |
[edit] App Templates
'App Templates' allow you to manage and ultimately provide KVM and LXC templates, archives and ISO images to your clients. Prepare the templates in the 'Applications' tab and gather them into groups in the 'Groups' tab. |
[edit] Applications
Read the guide carefully, as it contains crucial information on how to use "App Templates". You can change the settings and have the guide collapsed by default. Clicking on the 'Additional Actions' button, select 'Options' and 'Collapse Guide'. |
![]() |
You can switch between KVM Templates, LXC Templates, ISO Images, KVM and LXC Archives by clicking on relevant tabs. |
![]() |
You can use the refresh button to download and later refresh templates from the server. |
![]() |
Once the items are loaded, you can use the action buttons to edit, duplicate or delete them from the list. You can also use the mass action buttons to manage multiple templates at once. |
![]() |
[edit] Groups
With the templates ready, all that is left is to gather them into groups and include said groups into products. Navigate to 'App Templates' → 'Groups' and click on the 'Create' button. |
![]() |
Read the information, then provide the group with:
|
![]() |
You can use the action button and the mass action function to edit and delete groups. |
![]() |
For the client to take advantage of the application templates, the product module settings must include a selected group. Find the 'App Templates Configuration' section and the 'Default Application Group' field. Assign the desired group to the product. |
![]() |
Make sure 'Reinstallation' section is enabled under 'Client Area Features'. |
![]() |
[edit] Advanced Configuration
App templates allow for even more in-depth management with the ability to create and edit custom applications.
See the examples below to learn about the most important options. |
[edit] Adding Applications Manually
Manually add a single application, instead of loading all your applications at once. 1. Navigate to 'App Templates' → 'Applications' and click on 'Create'. |
![]() |
2. To fetch available templates or ISO images, you can use the Proxmox VE API. List all content on storage (ISO, templates, etc.): GET /api2/json/nodes/{node}/storage/{storage}/content Filter results using the content parameter:
List all VMs, containers, and other resources across the cluster: GET /api2/json/cluster/resources You can filter the response by:
For Example: { "vmid": 100, "type": "qemu", "template": 1, "name": "ubuntu-template", "node": "pve1", "status": "stopped" }, |
3. In the 'Name' field, we recommend including the value of the '"name": "$name"' field.
For example 'ubuntu-template' from: "name": "ubuntu-template", Note: If you include a 'name' setting detail (see step 4) with the name from the request as its value, you can safely rename the application to something else here. |
![]() |
4. Edit your newly added application, and under 'Settings Details' edit/create application details outputted by the panel's API. |
![]() |
Carefully look at the API output and fill out the 'Name' and 'Default Value' fields with you application details.
In our case, it is: "vmid": 100, |
![]() |
Add the remaining settings following the same pattern of filling the 'Name' and 'Default Value' fields. Important: For KVM Template, LXC Template, and ISO Images, the setting must include the 'instances' field. |
![]() |
The application will be available on the list and ready to be included in a group. |
[edit] Including Cloud-Init / User-Data Scripts
Enter the user data to run common configuration tasks when the instance starts. You can run cloud-init directives or shell scripts for Linux images. You may use smarty variables, e.g. {$password}. Note: Please refer to the following article to find a list of supported module parameters and their descriptions. If an application supports scripts, the responsible setting will always be added automatically. |
![]() |
See the list below to learn how to set up the setting.
|
![]() |
[edit] Settings
[edit] Load Balancer
Load Balancer is an advanced tool that allows smooth rotation between nodes so as to find the most preferable one, and create virtual machine on it. Set the weight of the resource that will prioritize its selection when sorting the nodes according to the free resources. To learn more about nodes and their allowed limits please go back to the Clusters section of this documentation. |
![]() |
In order to use the Load Balancer, you need to enable it in the product's configuration: Define the behavior of the tool:
|
![]() |
[edit] Node Prioritization Method
Have a look at how the sorting process works, and the rules that it goes by. Let's take exemplary weights for each resource just like the ones presented on the screen above. VMs Number Weight: 1,5 "Disk Weight" with the highest weight, which means it has the highest priority, and "VMs Number Weight" as the least crucial factor on a given node. In this case, there are four nodes created, named A, B, C, and D, with current resources as shown below: Node A (Free Ram: 60%, Free CPU: 20%, Free Disk Space: 50%, Number of VMs: 5) The next step is sorting the nodes according to each resource, it is done by assigning them corresponding priorities from 1 to 4. |
Priority | Free Ram | Free CPU | Free Disk Space | Number of VMs |
---|---|---|---|---|
4 | Node C | Node B | Node D | Node A |
3 | Node D | Node D | Node A | Node B |
2 | Node A | Node C | Node B | Node D |
1 | Node B | Node A | Node C | Node C |
Now, the final calculation of sorting nodes according to free resources is performed, taking into account the previously defined weights. The process of sorting nodes is based on the following calculation method: Final Node Priority = (RAM Priority x RAM Weight) + (CPU Priority x CPU Weight) + (Free Disk Priority x Disk Weight) + (No. VMs Priority x VMs Weight) The results for nodes A, B, C and D (with weights and sorting priority) are as follows: Node A: (2 x 2,5) + ( 1 x 2 ) + ( 3 x 4 ) + ( 4 x 1,5 ) = 25 Node B: (1 x 2,5) + ( 4 x 2 ) + ( 2 x 4 ) + ( 3 x 1,5 ) = 23 Node C: (4 x 2,5) + ( 2 x 2 ) + ( 1 x 4 ) + ( 1 x 1,5 ) = 19,5 Node D: (3 x 2,5) + ( 3 x 2 ) + ( 4 x 4 ) + ( 2 x 1,5 ) = 32,5 As you can see, Node D has got the highest priority value with the result: 32,5. The above described calculations are performed every time, 'Create' or 'Upgrade' actions are executed based on the current usage of resources on available nodes. Important: In case a given client already has a VM existing on a node, this very node will NOT be taken into account during the prioritization of resources. If you decide to use the Load Balancer tool, define the resource weights to adjust the prioritization of nodes according to your needs. |
[edit] Global Limitations
|
![]() |
[edit] Task Settings
This setting can help you stay informed about failed tasks. When a threshold of task retries is reached a notification email message will be sent out. You can set up a three-tier notification system with separate email contents. |
![]() |
The default email templates include:
You can pick different email templates from the dropdown fields in the tasks settings or edit the default templates by navigating to 'System Settings' → 'Email Templates'. |
![]() |
[edit] Admin Area Features
The 'Admin Area Features' section includes a list of all possible features that can be activated and then made available or not for the admin under the product's details:
|
![]() |
[edit] Scheduled Backups Templates
In this section, you can create scheduled backup templates, that can be included in your products by default. Preparing a template means there will be no need for the clients to set up their own scheduled backups and their virtual machines will be backed up on a predefined schedule from the get-go. |
![]() |
Once the template has been created, backup tasks can be included in it. Click on the 'Create Task Template' button. |
![]() |
Configure the backup schedule as you see fit, you can create as many task templates in the scheduled backups template as you need.
Click on 'Confirm' when ready. |
![]() |
You can add more task templates if you wish, edit or delete them. |
![]() |
The scheduled backup template you create can be included as the default backup schedule of your products. The 'Scheduled Backup template' field can be found in the product's module settings under 'Backup'. You can also select the 'Scheduled Backup Email' under 'Client Notifications'. |
![]() |
[edit] Firewall Templates
Proxmox VE VPS For WHMCS allows you to prepare firewall templates for your clients. Those templates can be added to the product's configuration and will be applied in virtual machine creation. Start by clicking on the 'Create Template' button and naming your new template. |
![]() |
Configure the firewall options according to the needs of your clients. Make sure to click on 'Submit' to save the changes. |
![]() |
Next, click on the 'Add Rule' button and add as many firewall rules as you need. |
![]() |
The last step is to add the firewall template to a product. Navigate to your product's module settings and find the firewall section. |
![]() |
[edit] Tools
[edit] Logs
The 'Logs' section under the 'Other' tab is where the module logs are stored. You can filter the module logs by type with the 'Show' buttons. For precise details on Logs, please refer to our dedicated documentation article, which you may find here. |
[edit] Cron Scheduler
Cron Scheduler allows you to define and automate the execution of module-specific commands at set intervals. It automatically handles all recurring cron jobs, so there's no need to configure and run each one manually. |
![]() |
All cron jobs listed in 'General Settings' that are meant to run regularly (excluding one-time tasks) are automatically added to the scheduler when the module is activated. There is no need to manually add them. |
![]() |
Set the desired interval for each cron job (e.g., every 5 minutes, hourly). |
![]() |
Configure and activate the main scheduler cron job, recommended to run every 1 minute.
This cron will handle the execution of all configured tasks. Scheduler cron command: php -q /yourWHMCS/modules/addons/ProxmoxVeVpsCloud/cron/cron.php scheduler:run |
If needed, you can trigger any cron job manually using the Run Command button. The command will be queued for immediate execution with the next scheduler run, typically within one minute, ignoring its regular schedule. |
![]() |
[edit] Queue
At the top of this section, you will find information regarding the cron job. The task cards can be used to filter the task table underneath. |
![]() |
Cron job tasks sent to the server through the module can be viewed and managed here. The basic information includes:
|
On the right side of the tasks list, you will find the action buttons. These are in order:
|
![]() |
Moreover, you can change additional settings by clicking on the three dots above the basic actions.
Remember to make use of the search bar when you need to find a specific task, and the mass action feature when you need to delete multiple tasks at once. |
![]() |
[edit] Translations
Customizing language files is now extremely easy with the "Translations" tool that is now available directly in the addon. Its user-friendly design makes managing various language file tweaks a smooth and efficient process. Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it here. |
![]() |
[edit] Media Library
The media library allows you to upload images for use elsewhere in the module by admins and clients. To upload a new picture, click on the 'Upload Image' button. |
![]() |
You can delete images one by one by clicking on them. To delete all images at once, use the additional action button. |
![]() |
[edit] Widget
Proxmox VE VPS & Cloud For WHMCS features a dedicated widget that displays crucial information about the module right in the WHMCS dashboard. The information displayed includes:
Each list can be hidden by disabling it in the addon's general settings. |
![]() |
You can change the height of the widget by editing the 'widget.tpl' file located in '/whmcs/modules/widgets/ModulesGardenProxmoxAddon/templates'. Find this code fragment:
<style> #MGProxmoxVeVpsCloudWidget{ height: 300px; } </style>
and change it to include <style> #MGProxmoxVeVpsCloudWidget{ height: 300px; max-height: none !important; } </style>
Now you will be able to adjust the widget's height by editing the |
To configure the widget's visible options, navigate to Settings → General Settings → Proxmox VE Widget Features section. In this section, you can choose which data should be displayed on the WHMCS dashboard. The following features can be enabled or disabled:
|
![]() |
[edit] Admin Area
In the admin area, you are able to view details and manage your clients' machines, access remote consoles, migrate VMs between nodes, assign IP addresses and view resource usage graphs. All visible features can be turned on and off in the Proxmox VE Addon → Settings → General Settings → Admin Area Features.
Note: The "Move Product/Service" action is not supported due to WHMCS limitations, and the fact that there are no hooks that would allow to catch such an event. |
![]() |
It is possible to fetch information of network interfaces and OS using the 'Qemu Guest Agent' tool. This option must be previously enabled in the product configuration, and successfully installed on the VM. Afterward, it should look similar to the image below. |
![]() |
In the next panel, you can find IPv4 and IPv6 addresses assigned to the VM. You can either delete or add an IP address to a product. To perform the latter action, press 'Add New IP' as shown on the following screen. |
![]() |
Fill in the fields to add a new IP address. At the bottom, there is a switcher 'Create Network' which, when on, forces assigning this IP address via Cloud-Init if that has been enabled and configured properly. Important: Create Network option works for KVM configuration only. |
![]() |
Additionally, until the VM has been provisioned, you can manually assign to it the desired IP addresses from the pool by typing them in the 'Assigned IPs' field (available for the 'Dedicated/VPS Server' product type). This will override the automatic IP address assignment, and the VM will use only the IP addresses you have entered in the mentioned field. Note: The IP addresses you provide must already exist in the IP Management pool, and cannot be assigned to any other VM. This feature will not work if you already use the IP Manager For WHMCS module. |
![]() |
In the next two panels, you can view IPSet information as well as reinstall the VM based either on the OS or ISO template. |
![]() |
Graphs can be useful to monitor the usage of VM resources. You can change the interval by pressing the 'Edit' button, and simply providing a new one. |
![]() |
In the last part of product management, you can view the user details on your Proxmox servers along with the assigned VLAN tag and SSH public key provided before the VM creation. |
![]() |
[edit] Client Area - VPS
The client area interface of VPS product type should look like the one on the screen below. As you can see, the control panel contains assorted options that will prove highly useful in VM management. Your clients are able to access resource usage 'graphs', view the VM 'history', manage the 'network' interface device, and set up the 'firewall' rules. Additionally, clients may take 'snapshots' , and manage 'disks'. Note: The bellow example image was taken from the KVM-based VM, but it looks very similar in the case of LXC. |
![]() |
By clicking the 'Edit' button next to the 'Information' headline, your clients can additionally change the VM hostname and ISO image, choose boot devices, as well as insert their SSH public key. Important: If you do not see the Edit icon, it means the option to change hostname has been turned off by the admin. |
![]() |
![]() |
[edit] Client Area - Cloud
Client area interface of a cloud-type product allows your clients to create their own virtual servers. They can also view resources used and manage existing virtual machines. |
![]() |
[edit] New Virtual Machine
In order to add a new virtual machine, press the 'Add New Virtual Machine' button. |
![]() |
Now, provide a name of your new virtual machine and choose a proper type from the dropdown menu. Moreover, you can add 'New Virtual Network' and 'New Additional Disk' here.
Confirm creation through pressing 'Confirm'. |
![]() |
You can now easily 'Edit' (1) or 'Delete' (2) your virtual machine.
You can find information about managing your virtual servers in next section. |
![]() |
[edit] Virtual Network Management
Move to 'Virtual Networks' section to add, delete and edit your virtual networks. Please keep in mind that this option must be enabled by administrator in your product's 'Module Settings' previously and a private IP address must be added in the Proxmox Addon. |
![]() |
[edit] Templates Management (KVM Only)
Once you press 'Templates', you will be redirected to a site where you will find the list of currently created templates along with their details and access to basic actions. |
![]() |
You may edit or delete existing templates. To add a new one, simply press 'Add Template' button. OS templates do not consume any resources such as CPU sockets, memory etc. |
![]() |
Select server from dropdown menu and type in its short description. Save changes when ready. |
![]() |
[edit] Client Area - VM Management
[edit] Actions
In the client area, users can easily manage their virtual machines using the following actions:
Additionally, clients can access their VM through one of the three supported console types. |
![]() |
[edit] noVNC Console
The noVNC console provides the most straightforward way for clients to connect to their virtual machines directly through the browser. |
![]() |
[edit] SPICE Console
The SPICE console allows access to the virtual machine using the SPICE protocol. |
![]() |
[edit] Xterm.js Console
The Xterm.js console offers another browser-based method to connect to the VM using Xterm.js. To enable this console in Proxmox v2.6.0 or higher, upload the required scripts from the UploadOnProxmoxServer/5.2-10 directory to all your Proxmox servers. |
![]() |
[edit] Client Area - Additional Tools
[edit] Backups
To create a single backup, press the 'Backups' button, and click on 'Create Backup' as shown on the following screen. |
![]() |
Now, choose the compression type ( 'None' , 'LZO' or 'GZIP' ) and the backup mode ( 'Snapshot' , 'Suspend' or 'Stop' ) from dropdown menus. Afterward, press 'Confirm'. |
![]() |
Note: Creating a backup is now added to the tasks list, wait a moment until the task is completed. Once ready, your new backup will appear on the list and will be available for future restoration. Note 2: You may select the storage for created backups either in the module settings globally, or per node in the addon module (this setting overwrites the product settings). |
You may mark backups as protected so they will not be unintentionally deleted. To restore a VM from the backup, press 'Restore', and then click the 'Confirm' button in a popup window. |
![]() |
Above the backups list, there is a table with information on 'Available Resources'. You will find data on limits put on backups:
Next to the statistics, there is a comfortable and easy-to-read progressive chart to illustrate the usage. If the size is set to 'Unlimited', the chart does not show any progress. |
![]() |
If you would like to restore singular files instead of the whole machine, or simply download them you can do that by clicking on the 'Browse Files' button. Important: Make sure your designated backup catalog has write permissions for file downloads and the deletion task to remove old files. |
![]() |
[edit] Backup Collection
Open the backup collection to view all backups created from your virtual machines of the current product type. For example, if you are using a VPS-type service, the Backup Collection will list backups from all your other VPS-type services. Similarly, for a Cloud-type service, you will see only backups from other Cloud-type services. You can restore the current service using any backup available in this list. |
![]() |
[edit] Backup Jobs
Important: 'Backup Jobs' and 'Backup Schedules' are mutually exclusive and should never be used together. 'Backup Schedules' are meant to replace 'Backup Jobs' as a backup solution that involves much less load on Proxmox VE resources. By pressing 'Backup Jobs' in the client area, you will be moved to the backup jobs management page. |
![]() |
Now, define the backup start time, choose the days when to run it, and select 'Compression Type' and 'Backup Mode' from dropdown menus. Also, select if you want to receive the notification when the backup is ready. Finally, press the 'Confirm' button. |
![]() |
[edit] Backup Schedules
Important: 'Backup Jobs' and 'Backup Schedules' are mutually exclusive and should never be used together. 'Backup Schedules' are meant to replace 'Backup Jobs' as a backup solution that involves much less load on Proxmox VE resources. If you already have 'Backup Jobs' created and would like to migrate them into Backup Schedules automatically, you should use this cron job task: php -q /your_whmcs/modules/addons/proxmoxAddon/cron/cron.php migrate-backup-jobs-to-schedules --product_id=YOUR_CONFIGURED_PRODUCT_ID You will find the cron already personalized for you in the General Settings tab. 'Backup Schedules' can already be created from a template while creating the virtual machine, but can still be freely customized later. |
![]() |
You may also schedule new backups by clicking on the 'Create Backup Schedule' button. |
![]() |
Configure the backup schedule as you see fit, you can create as many task templates in the scheduled backups template as you need.
Click on 'Confirm' when ready. |
![]() |
[edit] Disks (KVM only)
View available disks and add new ones. |
![]() |
Define the additional disk size, choose its bus (the available options may be 'IDE', 'SATA', 'VIRTIO' or 'SCSI' ), as well as define a disk format - you can choose from 'Raw disk image (raw)', 'QEMU image format (qcow2)', or 'VM image format (VMDK)' . |
![]() |
[edit] Firewall
Owing to the 'Firewall' page, your clients can set up firewall rules and enable a security group for their servers from the WHMCS client area. As you can see, you can easily modify and remove the previously added rules and security groups. |
![]() |
You can add a firewall rule in two ways. Both of them require choosing a direction, action, interface, source, and destination. The first way (orange) is to choose macro from the 'Macro' dropdown field. |
![]() |
Among 'Additional Actions' you will find three options:
|
![]() |
|
![]() |
You may manage the hierarchy of rules on the list. In front of each rule, you can find its 'Position' marker. The higher the rule is on the list, the higher priority the rule has assigned. You may change the rule position using the 'Move up/down' arrows. |
![]() |
[edit] Firewall Options
Here you can view the current firewall settings. To decide on its options, press the 'Edit' button, and adjust them to your needs. |
![]() |
![]() |
[edit] Graphs
Through pressing the 'Graphs' button, clients will be moved to the page with the generated graphs showing the CPU and memory usage, network traffic, and disk I/O. They can also switch the timeline of graphs by choosing a new one from a dropdown menu indicated on the following screen. Clients can pick between 'Hour', 'Day', 'Week', 'Moth' and 'Year'. |
![]() |
[edit] Network
Your clients are allowed to add and remove only private network interface devices. Additionally, they may assign other virtual machines to the network, enabling communication between them. |
![]() |
Upon clicking the 'Information' button, the new popup will open with more network details. |
![]() |
The 'Assign Virtual Machine' button opens another popup window, where virtual machines to be assigned to the network can be selected and optionally restarted. A restart is necessary for the changes to be applied if the hotplug functionality is not configured for the virtual machine. You can find an exemplary scenario illustrating a typical use case of this function in the 'Use Cases' section of this wiki. |
![]() |
Finally, the 'Delete' button will remove the network. Keep in mind that ' Network device' options have to be set to 'Private'. |
[edit] Reinstallation
The "Reinstallation" feature can be used to reinstall a new OS on the VM directly by the clients. You can allow your clients to either select a new OS from the provided KVM/LXS templates to automatically replace the system, use archives, or let them choose the ISO image for manual system installation |
![]() |
![]() |
Remember to grant your clients access to the selected reinstallation types in the 'Client Area Features'. Assign wanted 'Default Application Group' and 'Default Application' in the App Templates Configuration. |
![]() |
[edit] Resource Notifications
Within the "Resource Notifications" section, you can configure personalized notifications regarding your machine's utilization. By creating "Resource Notifications", you enable the system to automatically send email alerts whenever your server exceeds predefined thresholds for network traffic, disk read and write operations, CPU utilization, and memory usage within a specified time frame. These notifications serve as indicators, ensuring that you stay informed about any significant deviations from normal resource utilization, enabling you to take timely action and maintain optimal performance. |
![]() |
To create the first notification rule press the 'Create Notification' button. A dedicated form will appear, fill in the described below fields to compose the notification requirements:
|
![]() |
A ready notification rule appears on the list, here you may quickly turn it on/off (1) depending on your current needs, change (2) the rules or delete (3) the notification. |
![]() |
[edit] Server Monitoring Integration
Important: This section is only available with Server Monitoring For WHMCS module active.
Clients can create their own server status checks and monitor its health. New checks can be added by clicking on the 'Create Check' button. |
![]() |
The following details have to be specified:
More detailed information on specific checks and the module can be found on the Server Monitoring Wiki page. |
![]() |
After the first checks are performed, the logs table will include details such as:
|
![]() |
The graph displays the check logs in a visual way. |
![]() |
[edit] Snapshots
Use a snapshot to remember the current contents of the virtual machine memory. You may use them later to restore the VM's settings. Please remember that it is necessary to run the following cron command for snapshot jobs. You may set the cron command once a day or every hour. Do not forget to replace 'your_whmcs' with your WHMCS root location. php -q /your_whmcs/modules/addons/proxmoxAddon/cron/cron.php snapshots |
![]() |
Press the 'Take Snapshot' button and fill out the form to take a snapshot. Name it (use the alphabetical characters and no spaces), choose whether to include RAM, and add a description. |
![]() |
It is also possible to set up 'Snapshot Jobs' where snapshots can be created according to your preferences (daily or hourly). Click on 'New Job' in order to add a new snapshot job. |
![]() |
As you complete the form, remember to fill in the 'Name' field without spaces or special characters- only capital letters and numbers are allowed here. |
![]() |
[edit] Task History
To access the history of a machine, simply press the 'Task History' button. Afterward, the customer can see all the actions performed on the VM, as well as their status. If an error has occurred during the execution of a task, the client can view the API response error by clicking on the 'Information' icon. |
![]() |
![]() |
[edit] VM Power Tasks
The "VM Power Tasks" section empowers you to effortlessly create and manage automated power tasks for your virtual machine, all in one convenient location. With the ability to define task rules, you can automate multiple actions and minimize your manual intervention in VM operations. To begin configuring your first rule, simply click on "Add Task". |
![]() |
A new form will appear with the following options to provide:
|
![]() |
The power tasks list provides a comprehensive overview of all the tasks associated with power management on your virtual machine. You can easily identify active actions tasks, ensuring that your virtual machine operates according to your desired configurations. Additionally, the flexibility to modify existing rules (1) allows you to adjust the tasks' parameters to align with your needs. If necessary, you can also remove unwanted tasks from the list (2). |
![]() |
Important: "VM Powre Tasks" require a dedicated cron job to be set up by the administrator. |
[edit] Configurable Options
When you successfully set up a product, your client can order it by choosing from the default configurable options. Important: Storage Disc Space configurable option, when used by the client, overwrites the product configuration 'Disk Space ' option. |
![]() |
In case those options do not suit your needs, you can edit them. Go to 'System Settings' → 'Products/Services' → 'Configurable Option' and press the edit button next to the configurable option used by your product. |
![]() |
Here you can view all the products this configurable option group is assigned to. Now, we will show you how to edit options. Let's say you want to add an option to order a VPS with 4 cores per socket. |
![]() |
You will see a popup window, so make sure your browser does not block it. To add a new option, enter it in the textbox located below all other options. If you want to replace the option you currently have, simply edit the textbox. |
![]() |
More information about WHMCS configurable options and their editing can be found here. |
[edit] List of Configurable Options
The table below lists all configurable options used by the module for the chosen virtualization type. |
KVM For "VPS" Product Type |
LXC For "VPS" Product Type |
LXC Limits For "Cloud" Product Type |
KVM Limits For "Cloud" Product Type |
---|---|---|---|
Number Of CPU Sockets | Number Of CPU Cores | CPU Limit | CPU Sockets |
Number Of Cores Per Socket | CPU Limit | CPU Units Limit | CPU Cores |
CPU Limit | CPU Units For The VM | Memory | CPU Limit |
CPU Units For The VM | Amount of RAM | SWAP | CPU Units Limit |
Amount of RAM | Amount of SWAP | Storage | Memory |
Disk Space | Disk Space | Disk Space | Storage |
Additional Disk Space (With Configurable Storage, Units And Size) | Additional Disk Space (With Configurable Storage, Units And Size) | IPv4 Addresses | IPv4 Addresses |
IPv4 Addresses | IPv4 Addresses | IPv6 Addresses | IPv6 Addresses |
IPv6 Addresses | IPv6 Addresses | IPv6 Subnets | IPv6 Subnets |
IPv6 Subnets | IPv6 Subnets | Private Network | Backups Size |
Private Network | Private Network | Backups Size | Backups Files |
Backups Size Limit | Backups Size Limit | Backups Files Limit | Snapshots |
Backups Files Limit | Backups Files Limit | Snapshots | Bandwidth |
Protected Backup Files Limit | Protected Backup Files Limit | Bandwidth | Network Rate |
Download Backup Files Option | Download Backup Files Option | Network Rate | VCPUs |
Restore Backup Files Option | Restore Backup Files Option | Archive | Virtual Networks |
Server Monitoring | Snapshots Limit | Network Rate | Snapshot Jobs |
Snapshots Limit | Snapshot Jobs | |
Storage Disk Space |
Snapshot Jobs | Bandwidth Limit | |
|
Bandwidth Limit | VM Template | |
|
VM Template | Archive | |
|
Archive | Network Rate | |
|
Network Rate | Tag | |
|
VCPUs | Storage Disk Space | |
|
ISO Image | Server Monitoring | |
|
OS Type | |
|
|
Custom Cloud-Init Configuration | |
|
|
Cloud-Init Script | |
|
|
Tag | |
|
|
TPM | |
|
|
Differences between the cicustom and the ciscript configurable options: cicustom - it is a more advanced alternative to the "ciscript" configurable option. Using the "cicustom" option results in sending the configuration specified by the administrator. |
[edit] Importing Existing Virtual Machines
Our module allows you to easily import VM into your product. To do so, press 'Import Virtual Machine' as shown on the following screen. |
![]() |
Afterwards, choose the preferred virtual machine from the dropdown menu and complete the 'Password' field. Confirm importing through pressing the 'Confirm' button. |
![]() |
[edit] Servers Location Management
Important: Server Allocator For WHMCS is required to allow location management. In order to allow defining locations for Proxmox VPS, follow the below steps:
Keep in mind that all locations need to have exactly the same configuration. |
Now, a client may order a VPS, and select 'Location'. Server Allocator For WHMCS will change the server assigned to the product. The "Create" action is triggered on the assigned server due to the 'Server-Node' option enabled. |
[edit] Use Cases
In this section, you will find exemplary scenarios illustrating typical use cases, along with specifics on how the module's functionalities can be applied in practice. Review the following scenarios for practical examples of the module usage. |
[edit] Selling Predefined Windows Virtual Machines
The Proxmox VE VPS & Cloud For WHMCS module allows you to offer predefined, ready-to-deploy Windows-based virtual machines to your clients. This setup is applicable to Kernel-based Virtual Machines (KVM) only. Follow the steps below to create a Windows VM template, configure it using the App Templates feature, and link it with your WHMCS product settings. |
1. Prepare a Windows template in Proxmox:
|
2. Configure App Templates in the Proxmox VE VPS & Cloud For WHMCS addon. The App Templates feature simplifies template management and provisioning. To define and use your Windows template:
|
![]() |
Move to App Templates → Groups, create a group of applications with your template. |
![]() |
3. Configure the product's module settings: In the App Templates Configuration, choose the Default Application Group' that includes your predefined Windows template. |
![]() |
Again in the module settings, enable the Guest Agent option to ensure proper interaction between the virtual machine and the module. |
![]() |
Generate a configurable option named app|Application to allow clients to select from the available app templates (including Windows-based ones from the Default Application Group) during the ordering process. |
![]() |
When placing an order, clients will see a dropdown with applications you have configured. They can select the Windows template, which will then be used to provision their server accordingly. |
![]() |
[edit] Selling Predefined Linux Virtual Machines
Proxmox VE VPS & Cloud For WHMCS can be used to sell predefined Linux-based virtual machines. Follow the instructions below to prepare a Linux virtual machine template and configure the module. |
1. Prepae a template virtual machine in Proxmox: Create a Cloud-Init template virtual machine based on the official documentation.
If you are using shared storage, upload the template there. If shared storage is not used, ensure that the template is uploaded to each node manually. |
2. Configure App Templates in the Proxmox VE VPS & Cloud For WHMCS addon. The App Templates feature simplifies the management and provisioning of predefined templates.
|
![]() |
Then go to App Templates → Groups and create a group of applications that includes your Linux template. |
![]() |
3. Configure the product's module settings: In the App Templates Configuration, choose the Default Application Group that contains your predefined Linux template. |
![]() |
Still in the module settings, enable the 'Cloud-Init' option to ensure proper integration between the module and the virtual machine. |
![]() |
Enable the "Reinstallation" feature in the Client Area Features section to give clients access to this functionality. |
![]() |
Generate a configurable option named app|Application o allow clients to choose from the available app templates (including those from the Default Application Group) during the ordering process. Optionally, set pricing for the 'app|Application' configurable options via System Settings → Products/Services → Configurable Options. |
![]() |
When placing an order, clients will see a dropdown menu with the application templates you've configured. They can select the desired Linux template, which will then be used to provision their server. |
![]() |
Clients can reinstall their virtual machines using any of the templates available in their assigned group. |
![]() |
[edit] Connecting Multiple VPS Machines Into One Private Network
Proxmox VE VPS & Cloud For WHMCS allows connecting multiple VPS machines into one private network. To do so, you will need at least 2 virtual machines. In our case, the hostname of the first virtual machine is: 'virtualmachine1.com' and the hostname of the second one is: 'virtualmachine2.com.' First, pick one of the machines and navigate to 'Additional Tools' → 'Network' in your client area. |
![]() |
Once there, assign a new private network to the virtual machine you have selected by clicking on the 'Create Private Network' button. If there are any private IP addresses available, a new network will be created and this virtual machine will be assigned to it. |
![]() |
Now, you can assign other virtual machines you own to this very network. Click on the 'Assign Virtual Machine' button. |
![]() |
Select the virtual machine that you want to add to the network. You can identify it by its hostname. In our case, we want to add 'virtualmachine2.com.' Restarting the virtual machine is optional, but recommended, as it will allow it to connect to the network as soon as possible. Note: The reason for this is that if the virtual machine does not have the hotplug functionality configured, it has to be restarted for the change to be implemented. |
![]() |
After clicking on 'Confirm' button, you should receive information stating that the virtual machine has been successfully assigned to the private network. |
[edit] Selling Virtual Machine Upgrades
Proxmox VE VPS & Cloud For WHMCS integrates WHMCS 'Upgrades' and 'Configurable Options' to enable clients to change their virtual machine's specification.
See the instructions below on how those functions work with the module.
|
Upgrading from one product to another. 1. Configure the first product as you normally would. For the sake of an example, in the product's module settings, we will set the limits to 4GiB of disk space, and 512MiB of RAM. |
![]() |
2. Create another product in the same way, but this time with higher limits. For the second product, we will set the limits to 6GiB of disk space, and 1024MiB of RAM. Of course, you can change any properties of the products as you see fit. |
![]() |
3. Open the 'Upgrades' section of the first product and select the products you would like to allow the clients to upgrade it to. In our case, we will choose the newly created 6GB product. |
![]() |
4. In the client area, a new option will be visible, and the client will be able to place an order to upgrade their product. |
![]() |
5. Once the order is accepted, the virtual machine has to be rebooted for the upgrade to take place. |
![]() |
The changes will immediately be visible in the client area and the admin area. |
![]() |
Another way for the client to upgrade their virtual machines is to utilize the 'Configurable Options' function instead. In this way, all the changes in the specification will take place within the same product. 1. For the products that have the 'Configurable Options' assigned, you can use those as an upgrade option. Tick the 'Configurable Options' checkbox in the 'Upgrades' section. |
![]() |
2. In the client area, a new option to upgrade the configurable options will be displayed. |
![]() |
3. Clients will be able to pick their configuration again, all within the possible range that you have defined in configurable options. If you prepare configurable options for, say, the number of snapshots, the client will be able to pay for an increased limit of snapshots. |
![]() |
4. After the order is accepted, the configuration will update once the virtual machine is rebooted. |
![]() |
The changes will immediately be visible in the client admin areas. |
![]() |
[edit] Selling Additional Storage
Proxmox VE VPS & Cloud For WHMCS can take advantage of the 'Configurable Options' function to allow admins to sell additional storage space to their clients. Follow the instructions below, to see how to set up additional storage space options for your clients. |
In the product's module settings, at the very bottom, you can find a list of available configurable options. The ones that we are interested in right now are:
additionalDisksSpace|Additional Disks Space and additionalDisksSpace_[STORAGE_NAME]|Additional Disk Space (STORAGE_NAME) The difference between them is that 'additionalDisksSpace' can include any combination of any storage detected on your server, but only one option can be selected. |
Click on 'Create Configurable Options' and select relevant options to generate a template that you can edit under 'System Settings' → 'Products/Services' → 'Configurable Options.' Note: You can also create them manually if you prefer. |
![]() |
Here is an example 'additionalDisksSpace' configurable option:
|
![]() |
The option to buy additional storage space will now be displayed in the client area while ordering a new product, or upgrading configurable options. While using the 'additionalDisksSpac' configurable option, only strict storage configurations defined by the administrator are available. |
![]() |
The 'additionalDisksSpace_[STORAGE_NAME]' configurable option can be used to achieve a different effect.
|
![]() |
Once configurable options for every storage are created, the clients will be able to freely choose their own combinations. |
![]() |
After the order for additional storage is accepted, the user may create additional disks as they see fit, within the limits specified when placing the order and the product's module settings. |
![]() |
Here is an explanation of each field:
|
![]() |
If you would like to change how the storage types are displayed to the client, you can do so. 1. Find and edit the english.php file located in modules/servers/ProxmoxVPS/langs/english.php. $_LANG['storage']['local-lvm'] = 'Local-lvm'; 3. The text after the '=' is the display name and can be edited. $_LANG['storage']['local-ssd'] = 'SSD Storage'; |
![]() |
The virtual machine has to be rebooted before the new disks are enabled and usable. |
![]() |
[edit] Scheduling Backups
Proxmox VE VPS & Cloud For WHMCS can be used to plan and handle scheduled backups. This feature in conjunction with limiting backup tasks per node can substantially offload your Proxmox platform. To start scheduling backups navigate to 'Additional Tools' → 'Backup Schedules' and click on 'Create Backup Schedule'. |
![]() |
A configuration window for the first schedule will open. Set up as many schedules as you need.
Click on 'Confirm' when ready. |
![]() |
Now that the backups are scheduled, they will be mostly handled by the module, but you can further reduce the stress put on your Proxmox platform by limiting backup-related tasks per node. Open the Proxmox VE VPE & Cloud addon in your admin area and navigate to 'General Settings' . Find the 'Default Limit of Backup Tasks Per Node' and reduce the number, decreasing the load on your Proxmox platform. |
![]() |
[edit] Including Predefined Backup Schedules
You can include scheduled backup templates with Proxmox VE VPS & Cloud For WHMCS products. This negates the need to set up backup schedules for each client. A template only has to be prepared once and will be included with every product you choose. To set up a template, open the Proxmox VE VPS & Cloud addon and navigate to 'Settings' → 'Scheduled Backups Templates', click on 'Create Scheduled Backups Template' and name the template. |
![]() |
Next, edit the just created template, click on 'Create Task Template' and define the following details. You can create multiple task templates.
Click on 'Confirm' when ready. |
![]() |
Once the template is created, it can be included in the product's module settings. Each time a new virtual machine is created using this configuration, the scheduled backups will be set up according to the template. Remember to save changes each time you change module settings. |
![]() |
[edit] Including Predefined Firewall Settings
You can include firewall templates with Proxmox VE VPS & Cloud For WHMCS products, which eliminates the need to set up firewall settings for each individual client. A template only needs to be prepared once and will be included with every product. To set up a template, open the Proxmox VE VPS & Cloud addon, navigate to 'Settings' → 'Firewall Templates', click on 'Create Template', and name the template. |
![]() |
Configure the template's firewall settings as needed for the specific product and click on 'Submit'. You can also add firewall rules to the template, proceed to 'Add Rule'. |
![]() |
Prepare as many rules as you need for the given template. |
![]() |
Once a template is created all that remains is to include it in a product's module settings. Remember to save changes. Every virtual machine created with the firewall template included in the configuration will have its firewall preset, eliminating the need to manually configure the firewall for each machine. |
![]() |
[edit] Incorporating Operating Systems Groups
In Proxmox VE VPS For WHMCS you may categorize your operating system templates into groups. When a virtual machine is created for the first time using a specific template, future reinstallations are limited to templates included in the same groups. To create operating systems groups open the Proxmox Addon and navigate to 'Settings' → 'Operating Systems Group'. |
![]() |
Click on 'Add Template' and type in the exact name of the operating system template. If you need a reminder, you can see the list of your operating system templates in, for example, the module settings → 'Virtual Machine Configuration' → 'OS Template'. Add all the templates that you want to include in the group. |
![]() |
Repeat the process for different operating systems groups. In this example, we will create a group for free Linux systems and another one for Windows. |
![]() |
After the groups are created, open a product's module settings and find 'OS Groups' under 'Client Area Features'. Pick the groups you would like to include from the list. Keep in mind that if the template used by the virtual machine is featured in more than one group, clients will be able to reinstall their virtual machines using any template included across all of the mentioned groups, |
![]() |
Once the client's virtual machine is created, the 'Reinstall' function will be limited by the operating systems groups. In this example, the client chooses 'Ubuntu' in the order form, so after machine creation, he can only reinstall within the 'Linux systems' group. |
![]() |
With the current configuration, this client can only reinstall to Windows (and change his operating systems group) by upgrading his product. |
![]() |
Admins can check and manually change the base template, and by extension, the operating systems group. The information is recorded in the 'Base Template' custom field. |
![]() |
[edit] Using Load Balancer
Proxmox VE VPS & Cloud For WHMCS includes a load balancer feature that can help you make sure your server resources are used efficiently. Some of the possible setups include:
The general information can be found in the dedicated section of the wiki. Here are two practical examples of the load balancer working in practical scenarios.
Node A (Number of VMs: 10, Free CPU: 80%, Free Disk Space: 40%, Free RAM: 60%) If the creation of new virtual machines continues, node B will run out of free CPU soon. VMs Number Weight: 1 This is how the calculation will go: Node A: (1 x 1) + ( 2 x 10 ) + ( 1 x 2 ) + ( 1 x 3 ) = 26 Node B: (1 x 1) + ( 1 x 10 ) + ( 1 x 2 ) + ( 1 x 3 ) = 16 Node A gets the higher number, so virtual machines will be created on node A until the free CPU resource priority changes in favor of node B. Node A (Number of VMs: 10, Free CPU: 20%, Free Disk Space: 50%, Free RAM: 60%) But if we set up the load balancer to not favor the number of virtual machines, but the resources equality: VMs Number Weight: 1 The calculation will look like this: Node A: (1 x 1) + ( 1 x 10 ) + ( 2 x 10 ) + ( 2 x 10 ) = 51 Node B: (1 x 1) + ( 2 x 10 ) + ( 1 x 10 ) + ( 1 x 10 ) = 41 The virtual machines will be placed on node A, as long as it has more free resources, the number of virtual machines hardly matters anymore. |
[edit] Changing Bandwidth Usage Reset Date
By default the bandwidth usage in Proxmox VE VPS & Cloud For WHMCS resets each month, on the day of the product registration. If the product was first registered 21st of March, the bandwidth will reset on the 21st of each month. |
![]() |
There is however, an option to have the bandwidth usage reset on the first day of the month. This can be beneficial for easier billing, easier usage tracking, and reduced confusion in general. It might also be a good idea if you want all of your customers to have their bandwidth usage reset on the exact same day. To make this change, navigate to the product's module settings and the 'General' section, where you will find the 'Reset Usage First Day of Month' switch. |
![]() |
[edit] Providing rDNS Management for Proxmox VE VPS & Cloud
With DNS Manager For WHMCS, you can offer clients the ability to manage rDNS records for IP addresses allocated to their ordered servers. Learn more about this feature and how it integrates with Proxmox VE VPS & Cloud in a dedicated section of DNS Manager For WHMCS documentation page. |
![]() |
[edit] Tips
1. Operations performed on the virtual servers are not executed immediately. Give your Proxmox Virtual Environment some time to process the request and execute the operation. |
2. Multiple physical Proxmox servers can be joined into one cluster. When they are joined into one cluster, you can access all of them by connecting to just one.
|
3. If you set the product type to 'Hosting Account' when adding a new product, you will not need to fill out nameservers as they will be automatically set up. But if you still want to use the 'Server/VPS' product type, this article might help you in learning how to remove nameservers from your order template. |
4. OS Templates are not automatically downloaded while configuring a product. For each virtualization type, templates are downloaded from the Proxmox server depending on which one they are generated on. |
5. OS Templates are loaded from the storage. Make sure the module can access its content by selecting appropriate permissions for the chosen storage. |
6. When the PAM authentication is used, it is necessary to create a client first in order to change the password correctly. Read more about it here. |
7. As this module supports the templates system, any changes made in the module's template files will be saved after the upgrade process. |
8. If you are using the module in the 2.3.2 version or any previous one, and would like to migrate to Proxmox VE V5.X, you need to update the files on your Proxmox server to the new version from the 'UploadOnProxmoxServer' folder. |
9. OS Templates serve only as operating systems for the VM, while VM Templates contain complete configuration of the VM, the amount of resources included. |
10. You can use the {$service_assigned_ips} tag in your welcome email template to display automatically assigned IP addresses for the created VM (either the KVM or LXC virtualization type). Other available tags in the 'Client Notifications' emails: {$user.username} {$user.password} {$user.realm} If you wish you may add other information, like password, into the email, just refer to e.g. 'VPS Server Welcome Email' email template in your WHMCS to find appropriate merge fields. |
11. 'One User Per VPS' option allows you to either create a new username for each new client's VM, or create only one that will be then used for every new VM owned by your client. |
12. You can use the 'IPSet IP Filter' option for firewall to prevent IP spoofing. Click here to read more about IP Sets. Inside the admin area, in the product details view, you can preview the current IP Sets on VM: |
![]() |
13. You can enable 'Admin Notifications' on product configuration to be informed via email about certain actions. These are:
|
![]() |
Default email templates include basic variables, but you can include more, such as:
|
14. The 'Minimum Network Rate Limit' option allows you to change the previously entered 'Network Rate Limit' value to a new one if the current 'Bandwidth Limit' is already reached. Note that the 'Bandwidth Limit' can also be used for the WHMCS overage billing calculation as described here. |
![]() |
15. 'Default Username Prefix' - when filling in this field you may use the {$serviceid} parameter to avoid problems with creating usernames that already exist. |
16. You can easily import and assign any already existing VM from Proxmox to your WHMCS. First, you need order Proxmox VPS product to your client account without processing the VM creation process. |
17. It is possible to display more information about your VM in Proxmox Environment. To do so, you need to provide the preferred records in the 'Container Notes' tab under the ' KVM or LXC Configuration' section. The following records can be used: Client: {$client_name} (ID: {$client_id}) Email: {$client_email} Service ID: {$service_id} Product: {$product_name} (ID: {$product_id}) Hostname: {$service_domain} Main IP: {$service_dedicated_ip} {if $service_assigned_ips} IP Address Allocation: {$service_assigned_ips} {/if} You may also use markdown to modify the container notes, for example: Client: {$client_name} (ID: {$client_id})\ Email: {$client_email}\ Service ID: {$service_id}\ Hostname: {$service_domain}\ Main IP: {$service_dedicated_ip} {if $service_assigned_ips} The above notes will be displayed with every item starting in a new line. |
18. When the interface names on the VM are Net\d+, you need to choose Eth\d+ in the 'Firewall' section of the product configuration. |
19. If you want your clients to provide their own hostname, you need to add the following custom field in the 'Custom Fields' tab of the product configuration. proxmoxHostname|Hostname |
20. Create Linux VM:
|
![]() |
|
21. Create Windows VM:
|
![]() |
|
22. Configuring 'Default User' per template. Move to 'Proxmox Addon' → 'Servers' → 'Server Details' → 'Templates' → 'Create/Edit Template'. You may assign a default user to a single template, that user will be automatically assigned to the newly created VM. |
23. Configurable option field: 'Storage Disc Space' - this option allows to define the type and space on disc via a configurable option when placing an order. It also allows to extend the space as well as change the disc type. This CO overwrites the ordinary 'Disc Space' field available in the product configuration section. Important: To migrate the disc, you must previously 'Stop' your VM. |
24. Usage of VLAN Tags: VLAN Tags Range Minimum and Maximum Numbers simply play the role of network separation measures. The minimum and maximum numbers cause the module to select the next free VLAN Tag from this range for each virtual machine it creates. |
![]() |
![]() |
25. SDN Support: The module supports SDN private network type. It is possible to create virtual networks (vnets) at datacenter level thanks to the Software Defined Network (SDN). In the module, the whole configuration of SDN is located in 'Module Settings' → 'Private Network' section. There you will find dedicated options, these are:
|
![]() |
26. The "fetchBackupsForArchive" parameter in the "global_options.yml" file allows skipping the backups from being loaded into the "Archive" list in the product configuration.
By default the parameter is set to 'true' and backups are loaded. You may change it manually to 'false' and no backups will be loaded in the 'Archive' dropdown list as on the screens below: |
![]() |
![]() |
27. OS Templates and ISO Images' names - translate the names of available templates and images easily. Add extra lines into the module language file (e.g. /yourWHMCS/modules/servers/proxmoxVPS/langs/english.php) with your desired translations to customize their names. Follow the bellow pattern to add new lines: $_LANG['template']['ISO_name'] = 'My ISO Name'; For example: $_LANG['template']['Ubuntu'] = 'Ubuntu - preferred'; $_LANG['template']['Debian Live 9.4.0 Amd64 Cinnamon'] = 'Aktuelles Debian'; Please note that ['ISO_name'] must be replaced with the full template or image name that you are going to change. |
28. If you want to use the IP Address, CIDR and Gateway allocated from the IP Management section of the Proxmox Addon module instead of hard coding them, use the following parameter:
{$ipv4Addresses[0].gateway} |
29. Select the storage type already while placing the order. Create the "Storage Disk Space" configurable option with storage size and name to allow clients to set "Storage Disk Space" during the order. It will be used instead of the provided "Disk Space" value.
Exceptions:
|
30. Private Network management The module allows to create private network skipping the IP Management and firewall settings. Disable the below options if you do not aim to assign the IP address to the private network device.
|
![]() |
31. Make sure not to swap public and private network bridges during product upgrades. Using a bridge previously used for the opposing network type, can lead to several issues. Make sure the upgrade scenario looks like this: Product 1 (before upgrade): Private Bridge: vmbr1 Public Bridge: vmbr0 Product 2 (after upgrade): Private Bridge: any, except vmbr0 Public Bridge: any, except vmbr1 You can either keep it in mind when selecting bridges for upgrades or use the 'Reassign Public/Private IP Addresses After Upgrade' toggles, which will safely reassign IP addresses and bridges for you. |
32. How to Test Cloud Init in Proxmox Panel If a Linux machine does not have a password or network configured, but the data is correctly sent to the Proxmox panel, check if Cloud Init is properly configured on the template. |
33. The Proxmox VE VPS For WHMCS module is fully compatible with all versions of Proxmox VE that are actively supported by Proxmox. Ensure your Proxmox VE version is within its official support lifecycle to guarantee compatibility. |
[edit] Update Instructions
Essential guidance through the process of updating the module is offered here. Please note that each time you update the module, you have to also update the files on the Proxmox server described in the step 4 of the installation guide.
Important: After upgrading the module to the newest version please first enter to the Proxmox VE VPS & Cloud addon in your WHMCS before setting up the product or opening it from admin or client area! |
[edit] Upgrade Guide
Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability? There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment. Opt for the Open Source version of your Proxmox VE VPS For WHMCS module to unlock these benefits. Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. |
[edit] Module Upgrade From V3.X to V4.X
Upgrading from version 3.X to 4.0? Please note that version 4.0 is currently in the beta phase. We highly recommend installing it in a development environment first, testing the new unified functionality, and sharing your feedback, which is greatly appreciated. As part of the upgrade, the product has undergone a name change, and the license file has been relocated to the addon. At this stage, no automatic migration tool is available. This means that products and their module settings need to be configured from scratch. |
To do this, simply open the desired product page in the admin area and click the "Import Virtual Machine" button, as shown in the screenshot below. |
![]() |
Afterward, select the desired virtual machine from the dropdown menu and fill in the Password field. To complete the process, click the Confirm button. |
![]() |
[edit] Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
2. Error 'Could not create PVE2_API object' during connecting via the noVNC console. Reason: The user account does not have permission to access the noVNC console. To change the user role for all clients, please use the 'Cron job users synchronization (run only once)' cron command. |
3. Error 'This connection is untrusted' during connecting via the noVNC console. Reason: Your certificate is not valid. |
4. The blank page during connecting via noVNC console, '501 Error' visible in the proxmox panel. Reason: You have not uploaded the additional files on the Proxmox server. |
5. Error 'Change password failed: user 'xxx' does not exist' Reason: You have not created a client yet. |
6. Error 'Function "ssh2_connect" does not exist. Please Install SSH2 PECL before you start using the script.' Reason: You have not updated the php.ini file. |
7. Once you have updated your Proxmox VPS For WHMCS to Proxmox VPS For WHMCS V2.0.0, it is always required to save your product configuration in the module settings again. |
8. The current disk usage for the KVM virtualization type is not properly displayed. This is due to API limitations that lead to returning the incorrect value, which is always set to '0' . |
9. If you want to use Cloud-Init on Debian, we recommend using the Cloud-Init's version 18.2 or later to avoid assorted problems occurring in previous versions. |
10. Error: "Only root can set 'serial0' config". Solution: Turn off the Xterms.js console in the product configuration. |
11. Error "Parameter verification failed. ([maxfiles] - Only root may set this option.)" Reason: The user is other than "root" or the server authentication is set to Proxmox VE. |
12. Error "Node for IP Address 10.10.10.10 not found" Reason: An interface with the IP Address 10.10.10.10 cannot be found. |
13. Please remember that the disk size cannot be downgraded. Such a possibility is not supported. |
14. Error: "Cannot clone to non-shared storage 'local"
Reason: Option 'Search For Templates On All Nodes' is enabled in the product configuration under KVM configuration. |
![]() |
Remember that cloning from node "A" to node "B" does not work on the local storage. It is important to keep every template named the same on every node, otherwise cloning will not work either, eg.: |
15. Error: "Nameserver '%' cannot be resolved" Reason: The nameserver IP must be provided for the virtual machine of LXC configuration type. |
16. Error: "SQLSTATE[42S02]: Base table or view not found: Table 'ProxmoxAddon_ServerUsage' doesn't exist" Reason: The ProxmoxAddon_ServerUsage table has not been created properly because the tblservers table is on a different engine than "InnoDB" |
17. The Move Product/Service action is not supported by the Proxmox VE VPS For WHMCS module. This is due to WHMCS limitations, and the fact that there are no hooks that would allow to catch such an event. |
18. Error: "([boot] - invalid format - format error boot.order: invalid format - invalid boot device 'c')" Solution: Edit the boot order in any of the templates to ensure the boot order is saved in a new format (after the change you may go back to the previous order) |
19. In case you encounter any problems with the 'Guest Agent', please first ensure that the service is active in the machine's operating system. You may use the following command in PowerShell to check the status: Get-Service QEMU-GA To restart the service (stop and start again) use the following command: Restart-Service QEMU-GA |
20. Error: "SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for proxydb failed: Temporary failure in name resolution" Solution: Make sure there are no old volumes or duplicate .env files present. |