Proxmox VE for WHMCS

From NodeSpace Wiki
Revision as of 00:52, 16 August 2023 by 2600:8805:5200:260:d8b4:c0e9:ce43:8135 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Proxmox VE for WHMCS is an open source project that NodeSpace is working on in collaboration with The Network Crew. Please note that NodeSpace maintains a separate fork of the project and not all features may be contributed back upstream or even accepted upstream.

Latest Development Version

1.2.1

Download from GitHub
Warning!This is pre-release software that is changing and unstable. DO NOT USE IN A PRODUCTION ENVIRONMENT!


System Requirements[edit | edit source]

Proxmox VE[edit | edit source]

  • Proxmox VE 7.x (although we have developed using Proxmox 8.x)
  • Reachable by WHMCS (allow appropriate IP(s) in firewall, etc.)

WHMCS[edit | edit source]

  • WHCMS 8.7+ (may be compatible on older versions, but we have not tested)
  • PHP 7.4 or 8.1
  • Able to communicate with Proxmox VE server(s).

Installation & Configuration[edit | edit source]

WHMCS[edit | edit source]

Upload all the files in the modules directory to the appropriate location in your WHMCS installation.

Once uploaded, go to Settings > System Settings > Addon Modules and then enable Proxmox VE for WHMCS. Enable the appropriate permissions to access the module.

Now go to Addons > Proxmox VE for WHMCS and start configuring the module.

Module Config[edit | edit source]

  • VNC Secret - Currently required
  • Starting VMID (default 10000) - This feature is not yet implemented!

VM Plans[edit | edit source]

You can add KVM and LXC plans accordingly.

IP Pools[edit | edit source]

You will need to also configure appropriate IP pools.

Templates[edit | edit source]

You will need to store LXC templates in the storage called "local". This is a change from the original version where the storage name is also where the VMs are stored.

[TODO - update this section]

Important Notes[edit | edit source]

WHMCS Service ID is NOT used for the VMID[edit | edit source]

One of the major changes made is that we changed how the module assigns VMIDs in Proxmox. VMIDs cannot be below 100 and the module was previously assigning VMIDs based off the WHMCS service ID. Instead, we now query the Proxmox cluster and ask for the next VMID and use that.

IPv6 Not Yet Supported[edit | edit source]

Currently, the logic is only around IPv4. We are working to implement IPv6 support with high priority.

Other "Gotchas!"[edit | edit source]

See the following wiki: https://github.com/The-Network-Crew/Proxmox-VE-for-WHMCS/wiki

We're trying to make it much friendlier to use.

Known Issues[edit | edit source]

- Terminate, Suspend are not working properly. nsbz#253

Contributing - Bug Reports, Code, Feature Requests[edit | edit source]

Reporting Bugs[edit | edit source]

If you find a bug, which you most definitely will, please report it to us. Keep in mind that NodeSpace uses Bugzilla for tracking bugs and our server is at https://bugzilla.nodespace.com. You will need to create a new account and then you can open a bug report. Sidebar: If you're not familiar with us and how we do things, we're big proponents of self-hosting and not putting all your eggs into one basket. Time and time again, large, centralized services fail, close, or simply disappear. Additionally, there are no visibly globally unique ID numbers. "Bug 124" on GitHub/GitLab can mean anything. Where as in our Bugzilla database, there can only ever be one Bug 124.

When reporting bugs, please provide as much information as possible:

  • PHP version
  • Module version
  • WHMCS version
  • Exact steps to replicate the problem or how you encountered it
  • Screenshots are also helpful
  • Debug logs (if any), server logs, etc.

Code Contributions[edit | edit source]

We welcome any code contributions! You can fork our repo from GitHub and then make your changes and then open a PR. Once reviewed, we'll decide to accept them or not. There's not really a formal process (yet).

Feature Requests[edit | edit source]

If you would like a feature, please request it either by opening a bug in Bugzilla (see Reporting Bugs above) or opening a discussion on GitHub.