Personal tools
Namespaces

Variants
Actions

DigitalOcean Droplets For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
(Created page with "<meta name="keywords" content="digitalocean droplets for whmcs, digitalocean droplets configuration, whmcs digitalocean droplets management, whmcs digitalocean droplets instal...")
 
(About DigitalOcean Droplets For WHMCS)
 
(206 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<meta name="keywords" content="digitalocean droplets for whmcs, digitalocean droplets configuration, whmcs digitalocean droplets management, whmcs digitalocean droplets installation, whmcs digitalocean droplets common problems, about whmcs digitalocean droplets, whmcs digitalocean droplets documentation, whmcs digitalocean droplets faq, whmcs digitalocean droplets help, whmcs digitalocean droplets guide, whmcs digitalocean droplets wiki, whmcs digitalocean droplets tutorial, whmcs digitalocean droplets tips, whmcs digitalocean droplets wiki, digitalocean vps, digitalocean servers"></meta>
+
<meta name="google-site-verification" content="0jeeeHr47-Mrg-FashhD6uEffLru8OjaypiwaAGviDs" />
 +
<meta name="keywords" content="digitalocean droplets for whmcs, digitalocean droplets configuration, digitalocean droplets management, digitalocean droplets installation, digitalocean droplets guide, modulesgarden digitalocean droplets, digitalocean droplets wiki, digitalocean droplets tutorial, digitalocean droplets tips, dns module wiki, digitalocean droplets common problems, about digitalocean droplets, digitalocean droplets documentation, digitalocean droplets faq, digitalocean droplets help, whmcs digitalocean, whmcs digital ocean, digitalocean vps, digitalocean servers, digitalocean virtual machine, digital ocean module, digitalocean module"></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The DigitalOcean Droplets For WHMCS Module."></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The DigitalOcean Droplets For WHMCS Module."></meta>
  
 
=About [https://www.modulesgarden.com/products/whmcs/digitalocean-droplets DigitalOcean Droplets For WHMCS]=
 
=About [https://www.modulesgarden.com/products/whmcs/digitalocean-droplets DigitalOcean Droplets For WHMCS]=
 
{|
 
{|
|style="padding: 10px 0px 10px 0px;"|'''DigitalOcean Droplets For WHMCS''' is a marvelous module intended for automatic provision and management of virtual servers in your WHMCS.<br />
+
|style="padding: 10px 0px 10px 0px;"|'''DigitalOcean Droplets For WHMCS''' is a tool of invaluable usefulness which will allow you to provide Droplets to your audience in a completely automated manner. <br />
You will be able to create and provision ready products to your customers, while they will be allowed to manage their products straightforwardly in your client area.<br />
+
The module will empower your clients to exert full control over their virtual machines through such actions as power on/off, reboot, server rebuild and many more.<br />
In addition, the module contains a Server Monitor to let you view and manage all existing virtual machines and nodes within your admin area.
+
At the same time you will be enabled to carry out a thorough supervision of all tasks performed on virtual servers directly from the admin area.  
 
|}
 
|}
 
<!-- fixed -->
 
<!-- fixed -->
Line 14: Line 15:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Migrate Server Between Nodes
+
|style="padding: 0px 0px 0px 30px;"|✔ Resize Server By Changing Size Slug For Droplet Plan
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Change Package - Supports Configurable Options
+
|style="padding: 0px 0px 0px 30px;"|✔ Power On/Power Off/Shut Down/Reboot Server
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Change Password
+
|style="padding: 0px 0px 0px 30px;"|✔ Reset Server Password
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Assign/Delete Virtual Machine By Name
+
|style="padding: 0px 0px 0px 30px;"|✔ Toggle Automatic Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Stop/Restart/Suspend/Migrate Virtual Machine
+
|style="padding: 0px 0px 0px 30px;"|✔ Enable Private Networking
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Server Details And Status
+
|style="padding: 0px 0px 0px 30px;"|✔ Enable Reserved IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View And Update Assigned IP Addresses
+
|style="padding: 0px 0px 0px 30px;"|✔ Enable IPv6
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ View Scheduled Tasks
+
|style="padding: 0px 0px 0px 30px;"|✔ Change Server Hostname
 
|}
 
|}
*'''Client Area Features:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ View Server Details And Status
+
|style="padding: 0px 0px 0px 30px;"|✔ View Server Status And Details
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Start/Stop/Restart/Suspend/Resume Server
+
|style="padding: 0px 0px 0px 30px;"|✔ View Server Network Information
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Schedule And Manage Backups
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Create/Restore/Delete Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Access noVNC Console
+
|style="padding: 0px 0px 0px 30px;"|✔ View And Restore Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Usage Statistics
+
|style="padding: 0px 0px 0px 30px;"|✔ Rebuild Server With Chosen OS Distribution
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View And Order New IP Addresses
+
|style="padding: 0px 0px 0px 30px;"|✔ View Tasks History
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Manage Firewall Rules
+
|style="padding: 0px 0px 0px 30px;"|✔ Configure Product Details:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Change Password
+
|style="padding: 0px 0px 0px 45px;"|✔ Choose Project
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Upgrade/Downgrade Product
+
|style="padding: 0px 0px 0px 45px;"|✔ Choose Region
 
|}
 
|}
*'''Servers Monitor - Addon Features:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Add/Edit Node
+
|style="padding: 0px 0px 0px 45px;"|✔ Choose Size Slug Plan
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Check Nodes Status
+
|style="padding: 0px 0px 0px 45px;"|✔ Choose OS Image
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Nodes Usage And Statistics
+
|style="padding: 0px 0px 0px 45px;"|✔ Define Additional Volume Size
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View Virtual Machines List
+
|style="padding: 0px 0px 0px 45px;"|✔ Define Snapshots Limit
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Assign And Manage IP Pools
+
|style="padding: 0px 0px 0px 45px;"|✔ Define Firewalls Limit
 
|}
 
|}
*'''General Info:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Requires Virtual Automation (PVA)
+
|style="padding: 0px 0px 0px 45px;"|✔ Define Inbound/Outbound/Total Firewall Rules Limit
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports DigitalOcean Droplets  And DigitalOcean Droplets  Containers
+
|style="padding: 0px 0px 0px 45px;"|✔ Define Droplet Tags
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports High Availability Function
+
|style="padding: 0px 0px 0px 45px;"|✔ Provide Random Domain Prefix
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Server Resources Chosen During Order
+
|style="padding: 0px 0px 0px 45px;"|✔ Provide Firewall Prefix
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>IP Manager For WHMCS</u> - Easy IP Pools Management (Beta) [http://www.modulesgarden.com/products/whmcs/ip_manager/features (read more)]
+
|style="padding: 0px 0px 0px 45px;"|✔ Choose Master SSH Key
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Advanced Billing For WHMCS</u> - Actual Server Resource Usage Billing [http://www.modulesgarden.com/products/whmcs/advanced_billing/features (read more)]
+
|style="padding: 0px 0px 0px 45px;"|✔ Toggle Automatic Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Server Allocator For WHMCS</u> - Automatic Assignment Of Specified Servers To Products [https://www.docs.modulesgarden.com/Server_Allocator_For_WHMCS (read more)]
+
|style="padding: 0px 0px 0px 45px;"|✔ Toggle Monitoring
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support
+
|style="padding: 0px 0px 0px 45px;"|✔ Toggle Reserved IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports DigitalOcean Droplets And DigitalOcean Droplets Containers Up To Version 7
+
|style="padding: 0px 0px 0px 45px;"|✔ Toggle IPv6
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 5.6 Up To PHP 7.2
+
|style="padding: 0px 0px 0px 45px;"|✔ Toggle Private Networking
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Template Six
+
|style="padding: 0px 0px 0px 45px;"|✔ User Data - Execute Custom Cloud-Config Or Bash Script To Customize Server On First Boot
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V7
+
|style="padding: 0px 0px 0px 45px;"|✔ Allow SSH Key Inserting - Enable Logging In To Server Without Password
 
|}
 
|}
 
=Installation and Configuration=
 
 
{|
 
{|
|style="padding: 10px 0px 30px 0px;"|'''This tutorial will show you how to successfully install and configure DigitalOcean Droplets  For WHMCS.''' <br />
+
|style="padding: 0px 0px 0px 30px;"|✔ Choose Features Available In Client Area:
We will guide you step by step through the whole installation and configuration process.
+
 
|}
 
|}
==Installation==
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'''1. Log in to our client area and download the module.'''
+
|style="padding: 0px 0px 0px 45px;"|✔ Rebuild Droplet
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_1.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>As presented on the screen below, the first one is dedicated to PHP 5.6 up to PHP 7.0, while the second one is aimed at PHP 7.1 up to PHP 7.2.<br/>It does not apply to open source versions.<br/>
+
|style="padding: 0px 0px 0px 45px;"|✔ Tasks History
'' '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' › 'System' › 'PHP Info'.'''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:PHP56_72.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.'''<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Firewalls
The content of PHP version files should look like this.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_2.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ Graphs
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. When you install DigitalOcean Droplets For WHMCS for the first time, you have to rename '' 'license_RENAME.php' '' file.'''<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Select Available Images To Rebuild Droplet:
File is located in '' 'modules/servers/DigitalOcean Droplets/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_3.png]]
+
|style="padding: 0px 0px 0px 60px;"|✔ OS Distributions
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br />
+
|style="padding: 0px 0px 0px 60px;"|✔ One-Click Install Apps
Enter your license key between quotation marks as presented on the following screen.<br />
+
You can find your license key in our client area → '' 'My Products'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_4.png]]
+
|style="padding: 0px 0px 0px 60px;"|✔ Snapshots
 
|}
 
|}
 
==Activation of DigitalOcean Droplets  Monitor==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''6. Firstly, you need to activate DigitalOcean Droplets  addon.''' <br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Change Hostname
To do so, log in to your WHMCS and move to '' 'Setup' → 'Addon Modules'. '' Find '' 'DigitalOcean Droplets' '' and press '' 'Activate'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_5.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ Rebuild Initially Chosen Image Only
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to permit access to this module.'''<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Power On
To do so, click on '' 'Configure' '' button, tick '' 'Full Administrator' '' and press '' 'Save Changes' ''.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_6.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ Power Off
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''8. In order to allow module to run smoothly, go to your addon → '' 'Installation' '' tab and add two cron jobs marked on the following screen.'''<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Shut Down
Suggested execution time for '' 'slowCron' '' - each 5 minutes.<br />
+
Suggested execution time for '' 'cron' '' - each minute.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_6_1.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ Reboot
 
|}
 
|}
 
==Configuration of Server==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''9. Now we will show you how to configure a new product.''' <br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Reset Password
Go to '' 'Setup' → 'Products/Services' → 'Servers' '' and press '' 'Add New Server' ''.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_7.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Generate Configurable Options
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''10. Next, enter your server name, IP address, username and password. Choose '' 'DigitalOcean Droplets' '' from a dropdown menu and press '' 'Save Changes'. '''''<br />
+
|style="padding: 0px 0px 0px 30px;"|Choose Welcome Email And Password Reset Email Templates
''Note: Server you are using on WHMCS is in fact a node on your PVA server, not a whole PVA server.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_8.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Configure Email Piping
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''11. It is time to create a server group, to do so click on '' 'Create New Group'. ''
+
|style="padding: 0px 0px 0px 30px;"|✔ Run Server Connection Test
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_9.png]]
+
|style="padding: 0px 0px 10px 30px;"|✔ Toggle Debug For Logging API Requests And Responses
 
|}
 
|}
 +
 +
*'''Client Area Features:'''
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''12. Enter name, click on your previously created server, press '' 'Add' '' and afterwards'' 'Save Changes'. '' '''
+
|style="padding: 10px 0px 0px 30px;"|✔ Power On/Power Off/Shut Down/Reboot Server
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_10.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ View Server Status And Details
 
|}
 
|}
 
==Configuration of Product==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''13. In order to create and configure a product click on '' 'Setup' → 'Products/Services' → 'Products/Services'. '''''<br />
+
|style="padding: 0px 0px 0px 30px;"|✔ View Server Network Information
Click on '' 'Create a New Group' ''. 
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_11.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Create/Restore/Delete Snapshots
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''14. Enter product group name and press '' 'Save Changes'. '''''
+
|style="padding: 0px 0px 0px 30px;"|✔ View And Restore Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_12.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Rebuild Server With Chosen:  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''15. When you have a product group, you can create your product. '''<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ OS Distribution
To create a product click on '' 'Create a New Product'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_13.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ One-Click App
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''16. Afterwards, choose your product group and type from dropdown menus, enter your product name and press '' 'Continue'. '''''<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Administrator's Snapshot
''Note: 'Product Type' should be set to 'Dedicated/VPS Server'.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_14.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ View/Create/Edit/Delete Firewalls And Inbound/Outbound Rules For:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''17. Now, go to '' 'Module Settings' '' section, choose both '' 'DigitalOcean Droplets' '' module name and your previously created server group from a dropdown menu.'''<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ TCP Protocol
Next, click on '' 'Save Changes'. '''''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_15.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ UDP Protocol
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''18. From dropdown menus choose '' 'Base Node', 'Type', 'Public Network' '' and '' 'Private Network'. '''''<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ ICMP Protocol
''Note: 'DigitalOcean Droplets Container' server type can have only one routed network.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_16.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Reset Server Password
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''19. Depending on the server type that you have chosen, you may see different field names in '' 'Default Values' '' and '' 'Configurable Options' '' subsection.'''<br />
+
|style="padding: 0px 0px 0px 30px;"|✔ Change Server Hostname
On the following screen we will show you the configuration of '' 'Virtual Machine' '' server type.<br />
+
If you wish to offer predefined servers to your clients, set up '' 'Default Values' '' and skip '' 'Configurable Options'. ''<br />
+
In order to set up '' 'Default Values',  '' choose '' 'Base Template' '' from a dropdown menu.<br />
+
Next, enter values into textboxes marked on the screen below.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_17.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ View Tasks History
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''20. At '' 'Configurable Options' '' you can generate/update specific configurable options for product.'''<br />
+
|style="padding: 0px 0px 0px 30px;"|✔ View Resources Graphs:
Firstly, mark/unmark checkboxes at '' 'Settings to Generate' '' to specify which option you want to generate in your configurable options.<br />
+
Afterwards, select nodes and base templates to generate in configurable options.<br />
+
At the end, confirm it through '' 'Generate Configurable Options' ''/'' 'Update Configurable Options'. ''<br />
+
''Note: Values which will not be generated in configurable options, will be taken from 'Default Values'.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_18.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ CPU Usage
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''21. Now, it is time to define pages and functionalities visible for client in '' 'Client Area Configuration' '' subsection.<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Memory Usage
You can do it by simply selecting/unselecting checkboxes next to a page/functionality you want to enable/disable.<br />
+
On screen below you can see enabled all pages and functionalities.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_19.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ Average Load
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''Congratulations! You have just finished the installation and configuration of the module.'''<br />
+
|style="padding: 0px 0px 0px 45px;"|✔ Disk Usage
Your clients should see something similar to the screen below.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_21.png]]
+
|style="padding: 0px 0px 0px 45px;"|✔ Bandwidth Usage
 
|}
 
|}
 
=Management=
 
 
{|
 
{|
|style="padding: 10px 0px 15px 0px;"|'''DigitalOcean Droplets  For WHMCS allows your customers to manage their DigitalOcean Droplets accounts from the client area in your WHMCS system.'''<br />
+
|style="padding: 0px 0px 0px 30px;"|✔ Choose Server Parameters During Order
You can monitor and manage each product from your WHMCS admin area.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_22.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Provide SSH Key During Order
 
|}
 
|}
==Management of Addon==
 
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|In '' 'Addons' '' → '' 'DigitalOcean Droplets' '' you can find all used virtual machines and nodes as well as instructions on how to install the module.
+
|style="padding: 0px 0px 10px 30px;"|✔ Receive Email Notification After VM Creation And Password Reset
 
|}
 
|}
===Installation===
+
 
 +
*'''Configurable Options:'''
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|At this tab you can find instructions on how to install DigitalOcean Droplets For WHMCS and configure the product.<br />
+
|style="padding: 10px 0px 0px 30px;"|✔ Region
You can also find here a link to DigitalOcean Droplets For WHMCS Wiki which you are currently reading.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_29_4.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Image
 
|}
 
|}
 
<!--do wywalenia
 
===Templates Configuration===
 
 
{|
 
{|
|style="padding: 10px 20px 15px 15px;"|This tab does not support DigitalOcean Droplets  For WHMCS module, it was created for DigitalOcean Droplets  Virtual Datacenter For WHMCS.
+
|style="padding: 0px 0px 0px 30px;"|✔ Additional Volume Size
 
|}
 
|}
-->
 
 
===Servers Monitor===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|To add new node, press '' '+ Add Node' '' button.<br />
+
|style="padding: 0px 0px 0px 30px;"|✔ Monitoring
Afterwards, follow steps 9 to 21 of '' '[http://www.docs.modulesgarden.com/DigitalOcean Droplets_VPS_For_WHMCS#Configuration_of_Server Installation and Configuration]' '' instructions.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_23.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Private Networking
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|You can also view current node usage through pressing '' 'Usage' '' button, as presented on the following screen.
+
|style="padding: 0px 0px 0px 30px;"|✔ Reserve IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_24.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Firewalls Limit
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|In '' 'Usage' '' tab you can view resource usage in specific time period for node that you chose.
+
|style="padding: 0px 0px 0px 30px;"|✔ Inbound Rules
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_25.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Outbound Rules
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|To access virtual machines list on a particular node, press on '' 'Virtual Machines' ''.
+
|style="padding: 0px 0px 0px 30px;"|✔ Total Rules
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_26.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Size Slug Plan
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'' 'Virtual Machines' '' tab contains virtual machines list created on this WHMCS and node that you selected.<br />
+
|style="padding: 0px 0px 0px 30px;"|✔ Snapshots Limit
You can view here basic information about virtual servers.<br />
+
To view more information about specific virtual machine, simply press on '' 'View' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_27.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Backups
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|If you change your DigitalOcean Droplets  server connection details, you can update connection credentials on your WHMCS through pressing '' 'Edit' '' next to altered node.
+
|style="padding: 0px 0px 0px 30px;"|✔ IPv6
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_28.png]]
+
|style="padding: 0px 0px 10px 30px;"|✔ User Data
 
|}
 
|}
 +
 +
*'''General Info:'''
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Afterwards, upgrade your connection details and confirm through pressing '' 'Save Changes'. ''
+
|style="padding: 10px 0px 0px 30px;"|✔ Supports Both Standard Droplets And CPU Optimized Droplets Types
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_29.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/advanced-billing Advanced Billing For WHMCS] - Actual Server Resource Usage Billing
 
|}
 
|}
 
===IP Management===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Our DigitalOcean Droplets  For WHMCS module supports management of IP addresses, but it needs [https://www.modulesgarden.com/products/whmcs/ip-manager IP Manager For WHMCS] module to work correctly.<br />
+
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/dns-manager DNS Manager For WHMCS] - Manage DNS Records On DigitalOcean Directly
To access it, go to '' 'Addons' '' → '' 'DigitalOcean Droplets' '' → '' 'Servers Monitor' '' and press '' 'IP Management' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_29.1.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/server-allocator Server Allocator For WHMCS] - Automatic Assignment Of Most Suitable Servers To Products
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|As you can see, you can assign different IP Manager configurations to each network type.<br/>
+
|style="padding: 0px 0px 0px 30px;"|✔ Fully Integrated With Lagom WHMCS Client Theme
Let's add a new configuration to '' 'Host Only' '' network. To do so, press '' ' Create a new configuration for this network' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_29.2.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You will be moved to the IP Manager module where you can create a new configuration for DigitalOcean Droplets product.<br/>
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.1 Back To PHP 7.4
Provide your configuration name, assign it to DigitalOcean Droplets products, addons or server and press '' 'Create New Configuration' ''.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_29.3.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six" And "Twenty-One"
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Now you can add IP pool through creating a new subnet.<br/>
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.10 Back To WHMCS V8.6
To do so, click '' 'Create New Subnet' '' button and follow the steps described [https://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#Create_Subnet here].<br/>
+
'' '''Note:''' It is also recommended to enable IP Manager integration module for DigitalOcean Droplets. You can find instruction on how to do that [http://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#Enabling_3rd_Party_Integration here], but you do not have to assign configuration to it.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_29.4.png]]
+
|style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V12 Or Later
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Successfully created IP pool can now be assign to your previously set DigitalOcean Droplets configuration.<br/>
+
|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/digitalocean-droplets#open-source-version Open Source Version]
Go back to the IP Manager configuration list and press the '' 'Assigned Subnets' '' button.
+
 
|}
 
|}
 +
 +
=Installation and Configuration=
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_29.5.png]]
+
|style="padding: 10px 0px 30px 0px;"|'''This tutorial will show you how to successfully install and configure [https://www.modulesgarden.com/products/whmcs/digitalocean-droplets DigitalOcean Droplets For WHMCS.]''' <br />
 +
We will guide you step by step through the whole installation and configuration process.
 
|}
 
|}
 +
==Installation==
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Select created IP pool from the dropdown menu and press '' 'Assign Subnet' ''.
+
|style="padding: 10px 0px 20px 15px;"|'''1. Log in to our client area and download the module.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_29.6.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Once again move to the configuration list.<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''2. In the downloaded file you might find one or two packages that support different PHP versions.'''<br/>
You will now have to assign DigitalOcean Droplets configurable options that will be used to determine the number of IP addresses from the pool assigned to the DigitalOcean Droplets product.<br/>
+
In the most recent versions of the module, you will find only one package that supports PHP 7.4 and later.<br/> <!-- If you need a package for the previous versions of PHP, please [https://www.modulesgarden.com/support/ticket/general-support contact our support]. -->
'' '''Note:''' The configurable options are '''required''' for IP addresses assignment by IP Manager.''<br/>
+
Even if you do not want to use all configurable options for the product, you have to create and assign at least these two:
+
ip_number|Number of Public IP
+
ip_number_secondary|Number of Private IP
+
Click [https://www.docs.modulesgarden.com/DigitalOcean Droplets_VPS_For_WHMCS#Editing_Configurable_Options here] for more information. If you already have configurable options set, press the '' 'Configurable Options' '' button to add a new relation.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_29.7.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:PHP74_81.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Now you can add the defined DigitalOcean Droplets configurable option relations to your IP Manager.<br/>Specify what type of address to assign to the chosen'' 'Network ID' '': public IP, private IP or both as a shared address.<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''Previous updates of the module may contain two packages dedicated to various PHP versions.'''<br/>  
'' '''Important:''' If you decide to assign both public and private configurable options, as shown below, then you will also '''have to''' assign that configuration for the second network interface (if used).
+
The first one that supports PHP 5.6 up to PHP 7.3, and the second one addressed to PHP 7.2 up to PHP 7.4.<br/>
 +
'''''Note:''' Keep in mind that PHP versions 5.6 up to 7.3 are no longer officially supported and their security issues are not fixed or released any more. Find more info [http://php.net/supported-versions.php here].''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_29.8.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:PHP56_74_81.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Finally, go back to the DigitalOcean Droplets addon and assign the created configuration to the chosen network interface.
+
|style="padding: 0px 0px 10px 15px;"|<!-- '' '''Important''': This situation does not affect [https://www.modulesgarden.com/products/whmcs/digitalocean-droplets#open-source-version '''the open source version'''] of this module which can be applied to any PHP from version 5.6 and later.''<br/>'' --> '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_29.8.png]]
+
|style="padding: 0px 0px 15px 15px;"|'''3. Extract the package and upload its content into the main WHMCS directory.
 +
The content of the package to upload should look like this.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|Congratulations, you have successfully completed the IP Manager configuration!<br/>
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_2.png]]
Repeat the above steps for the second configuration in the same manner, or use the already created configuration to use shared IP pool.
+
 
|}
 
|}
 
==Management of Admin Area==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|At the admin area you can order basic options(2) as '' 'Create' '', '' 'Suspend' '', '' 'Unsuspend' '', '' 'Terminate' '' and '' 'Change Package' ''.<br />
+
|style="padding: 0px 0px 15px 15px;"|'''4. When you install DigitalOcean Droplets For WHMCS for the first time, you have to rename the '' 'license_RENAME.php' '' file.'''<br />
You can also order '' 'Server Actions' ''(3) such as '' 'Stop' '', '' 'Restart' '', '' 'Suspend' '', '' 'Start' '', '' 'Reinstall' '', '' 'Resume' '' and '' 'Migrate' ''.<br />
+
The file is located in '' 'modules/servers/DigitalOceanDroplets/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
You are able to configurable options(1), server details(4), assigned IP addresses(5), scheduled cron tasks(6) and host ID(7).<br />
+
''Note: 'Basic Template' cannot be changed if product was already created. 'Node' can be changed only using 'Migrate' and 'OS Template' through using 'Reinstall'.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_30.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_3.png]]
 
|}
 
|}
===Reinstall===
 
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|To reinstall your virtual server you have to stop it through pressing '' 'Stop' '' button.
+
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit the previously renamed '' 'license.php' '' file.'''<br />
''Note: You are not able to reinstall 'Virtual Machine' server type.''
+
Enter your license key between the quotation marks as presented on the following screen.<br />
 +
You can find your license key in our client area → '' 'My Products'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_31.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_4.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Afterwards, press '' 'Reinstall' '' button.
+
|style="padding: 0px 0px 15px 15px;"|'''6. Now, set up the  '' 'storage' '' folder as recursively writable.'''<br />
 +
This folder is available at '' '/your_whmcs/modules/servers/DigitalOceanDroplets/'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_32.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_4_1.png]]
 
|}
 
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|'''7. The last step is setting up three cron jobs.'''<br />
  
===Migrate===
+
* Mail cron - will be used to send emails to clients after Droplet creation, rebuilt or password reset.<br/>You will find more information on this topic in the product configuration section. We suggest running the cron every 5 minutes: <pre>php -q /your_whmcs/modules/servers/DigitalOceanDroplets/cron/cron.php MailCron</pre>
 +
 
 +
* Tasks cron - will be used to remove volumes from the panel after their termination. If not set, the admin will have to delete them manually <br/> Moreover, from the 1.4.0 module version it will also assign/unassign floatings IPs on the Droplet creation or its upgrade ('' 'Change Package' '' module command).<br/>We suggest the cron to run every 5 minutes: <pre>php -q /your_whmcs/modules/servers/DigitalOceanDroplets/cron/cron.php Tasks</pre>
 +
 
 +
* Firewall cron - will be used to synchronize Firewalls assigned to Droplets directly in the panel.<br/>You will find more information on this topic in the product configuration section. We suggest  that the cron should run every hour: <pre>php -q /your_whmcs/modules/servers/DigitalOceanDroplets/cron/cron.php Firewall</pre> Remeber to replace '' 'your_whmcs' '' with your WHMCS root path.
 +
|}
 +
 
 +
==Configuration of Server==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|To migrate your virtual machine, choose server you want to migrate your virtual machine to.<br />
+
|style="padding: 10px 0px 15px 15px;"|'''8. Now, we will show you how to configure a new product.'''<br />
Afterwards, select node on this server from a '' 'Node' '' configurable option and press '' 'Save Changes' '' button.<br />
+
Go to '' 'Setup' '' '' 'Products/Services' '' '' 'Servers' '' and press '' 'Add New Server' ''.<br/>
The last step is pressing '' 'Migrate Button' ''.<br />
+
 
''Note: To migrate your virtual server you have to generate 'Node' configurable option.''
+
'' '''Note:''' If you have WHMCS V7.8.X or later, we recommend using your ''' 'previous experience' ''' of the server configuration instead of the new wizard tool.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_33.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_5.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Next, press '' 'Migrate' '' button.
+
|style="padding: 0px 0px 15px 15px;"|'''9. Next, enter your server name and select '' 'DigitalOcean Droplets' '' from the 'Type' field.<br/>
 +
Now, in the '' 'Password' '' field provide your DigitalOcean '' '''API token''' '' and check the connection. If successful, save changes. <br/>
 +
 
 +
'' '''Note:''' To find your '''API token''', log in to your DigitalOcean panel and go to the [https://cloud.digitalocean.com/settings/api '''API''' section] where you can generate a new token.<br/> You will need a token with '''read''' and '''write''' permissions. Remember to copy and store the token in the safe place because it will no longer be visible in the panel.<br/> Click [https://www.docs.modulesgarden.com/images/b/bf/DO_API_Token.png here] to see an example where to find it.''<br/>
 +
 
 +
'' '''Note 2:''' The 'Hostname' field is not used by the module, but if you use WHMCS V7.8.X, then a fatal error may occur when trying to save server settings without providing any hostname or IP address details.<br/>In this case, try to provide anything in the hostname field. Please note that this is a bug that occurs in WHMCS, not in the module itself, and it may also appear in further versions of WHMCS.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_34.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_6.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Afterwards, popup should appear. Confirm migration through clicking '' 'Migrate' '' button.
+
|style="padding: 0px 0px 20px 15px;"|'''10. It is time to create a server group. To do so, click on '' 'Create Server Group' ''.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_35.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_8.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''11. Enter a name, click on your previously created server, press '' 'Add' '' and afterward '' 'Save Changes' ''.'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_9.png]]
 
|}
 
|}
  
==Management of Client Area==
+
==Configuration of Product==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Client area interface of DigitalOcean Droplets  should look like the one on the screen below.<br/>
+
|style="padding: 10px 0px 15px 15px;"|'''12. In order to create and configure a product, go to '' 'Setup' '' '' 'Products/Services' '' '' 'Products/Services' ''.'''<br />
As you can see, control panel contains useful options needed to manage a VPS.<br/>
+
Click on '' 'Create a New Group' ''.
Module allows your customers to easily '' 'Suspend' ''(1), '' 'Stop' ''(2), '' 'Restart' ''(3) their servers through pressing a specific button.<br/>
+
It is also available to '' 'Start' '', '' 'Reinstall' '' (4) and '' 'Resume' '' server by clicking on defined buttons.<br/>
+
'' 'Start' '' and '' 'Reinstall' '' actions are available only when server is down, '' 'Resume' '' is available when server is suspended.<br/>
+
Clients can also create backup and set up backup jobs(5), access VNC console(7), view virtual server usage statistics(6) and manage IP addresses(8).<br/>
+
''' ''Note: If your client is using 'DigitalOcean Droplets  Container' they can also manage firewall'' ''' (9).
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_36.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_10.png]]
 
|}
 
|}
===Backups Management===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In '' 'Backups Management' ''(5) you can order backup jobs or create backups.<br/>
+
|style="padding: 0px 0px 20px 15px;"|'''13. Enter your product group name and press '' 'Save Changes' ''.'''
To create backup job press '' 'Create Backup Schedule' '' as shown on the screen below.
+
''Note: If two backup task are ordered in too small time interval, only one backup is created.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_37.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_11.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Now define backup description by typing its name into a textbox and choose backup type from a dropdown menu.<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''14. Once you have a product group, you can create a new product.'''<br />
You can choose whether to delete previous backup or not, through marking  checkbox next to '' 'Remove Previous'. ''<br/>
+
To do so, first click on '' 'Create a New Product' ''.  
Afterwards, select '' 'Recurrence Pattern' '' through marking desired option and set time of run.<br/>
+
On the screen below you can view sample setting for '' 'Repeat Daily' '' option.<br/>
+
To create this backup job, press '' 'Create Backup Schedule' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_38.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_12.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|You can also create a single backup. To do so, click on '' 'Create Backup' '' button as shown on the following screen.
+
|style="padding: 0px 0px 15px 15px;"|'''15. Afterward, choose your product type, enter your product name and choose the product group from the dropdown menu. Press '' 'Continue'. '' '''<br />
 +
<!-- '' 'Product Type' '' should be set to '' 'Hosting Account'. '' -->
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_39.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_13.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Now enter backup description and select backup type from a dropdown menu.<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''16. Now, go to the '' 'Module Settings' '' section, choose both your previously created server group from the dropdown menu.'''<br />
Afterwards, choose whether to delete previous backup or not, through marking  checkbox next to '' 'Remove Previous'. ''<br/>
+
The module should automatically save and reload the settings. If not, click on the '' 'Save Changes' '' option manually.'''
Confirm creation of this backup through pressing '' 'Create Backup' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_40.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_14.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|To restore Virtual Machine from the backup, simply press restore icon and '' 'Restore' '' button.
+
|style="padding: 0px 0px 15px 15px;"|'''17. Now, you can start configuring the settings of the Droplet you sell.'''<br />
 +
Just like when creating a new virtual machine in your DigitalOcean panel, here also you can configure such options as:
 +
* '''Project''' - Select a project on which the droplet will be created.
 +
 
 +
* '''Region''' - Select the data center region. More distant server locations may increase the server's latency without providing any practical benefits to clients.
 +
 
 +
* '''Size Slug Plan''' - Choose the size slug plan based on which resources will be allocated to the Droplet. You can read more about size slug indications  [https://slugs.do-api.dev/ here]. <br/>''Note: If you want to change their names to more user-friendly, you can do it in a [https://www.docs.modulesgarden.com/General#How_To_Change_WHMCS_Module_Language language file].''
 +
 
 +
* '''Image''' - Select the image of the system that will be installed on Droplet.
 +
 
 +
* '''Additional Volume Size''' -  Allows you to create and attach additional SSD storage volume to Droplet in the provided size (in GB).<br/>If left empty or set to 0, then the volume will not be created and attached. [https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-block-storage Here] you can find more information about DigitalOcean Block Storage.
 +
 
 +
* '''User Data''' - Choose the execution script which will be used to configure Droplet on the first boot. Go [[#User_Data_Scripts|here]] to find more information about how to use these scripts.<br/> '' '''Note 1:''' User Data scripts are '''optional''' for product configuration if you do not want to use them, simply set this field to the 'Do not use' option.'' <br/> '''''Note 2:''' Please refer to the following article to find a '''list of supported [https://developers.whmcs.com/provisioning-modules/module-parameters/ module parameters]''' and their descriptions.''
 +
 
 +
* '''Random Domain Prefix''' - here you can provide the domain prefix that will be applied when the domain is not provided.
 +
 
 +
* '''Master SSH Key''' - If you do not want to share access to machines by SSH or require clients to provide their own keys while placing orders, <br/> then select your Master SSH Key from the panel here, as it will be used for all machines created on the basis of this product.
 +
<!--
 +
* '''Floating IPs''' - Enable to automatically assign floating IP address to Droplet on creation. Click [https://www.digitalocean.com/docs/networking/floating-ips/ here] to find out more about floating IPs.
 +
-->
 +
* '''Reserved IP Addresses''' - Enable to automatically create a reserved IP address on Droplet on creation.
 +
 
 +
* '''Backups''' - Enables automatic system-level backups. It can be used for backup images, to revert the server or create new Droplets. Click [https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-backups here] for more information.
 +
 
 +
* '''Monitoring''' - Enables additional Droplet metrics collection, monitoring, and alerting. [https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-monitoring Here] you can find out more.
 +
 
 +
* '''Snapshots Limit''' - [https://www.digitalocean.com/docs/images/snapshots/ Snapshots] provide a full copy of a Droplet, saving everything from a Droplet's disk to a disk image. Here you can define the maximum number of snapshots that can be stored at one time.
 +
 
 +
* '''Firewalls Limit''' - [https://www.digitalocean.com/docs/networking/firewalls/ Firewalls] block your servers and machines from external attacks. Here you can define the maximum number of firewalls that a client may add per virtual machine. Enter '0' to disable firewalls, leave empty to set no limits.<br/>'''''Note 1:''' You may create more firewalls in the panel which will be assigned with a cron run, the limit in such case can be exceeded.''<br/>'''''Note 2:''' A cron command is required to synchronize firewalls assigned and managed in the DigitalOcean Droplets Panel.''
 +
 
 +
* '''Inbound Firewall Rules Limit''' - Enter how many inbound rules a user can create per one firewall. Enter -1 for unlimited.
 +
 
 +
* '''Outbound Firewall Rules Limit''' - Enter how many outbound rules a user can create per one firewall. Enter -1 for unlimited.
 +
 
 +
* '''Total Limit of Firewall Rules''' - Enter the total number of rules that a user can create per one firewall. Enter -1 for unlimited.
 +
 
 +
* '''Tags''' - Here you can apply custom labels for the Droplet. If you want to add multiple tags, separate them with a comma. Read more about tags [https://www.digitalocean.com/community/tutorials/how-to-tag-digitalocean-droplets here].
 +
 
 +
* '''Firewall Prefix''' - You can provide WHMCS merge field variables such us "{$serviceid}" or "{$username}" to eliminate problems with using non-unique firewall names by clients that need to be globally unique to the DigitalOcean account.
 +
 
 +
* '''IPv6 Addresses''' - Enables public [https://www.digitalocean.com/community/tutorials/how-to-enable-ipv6-for-digitalocean-droplets IPv6] networking for Droplet.
 +
<!--
 +
* '''Private Networking''' -  Adds [https://www.digitalocean.com/community/tutorials/digitalocean-private-networking-faq Droplet-to-Droplet] networking, within the same region.
 +
-->
 +
* '''Debug Mode''' - Enables logging of API requests and responses to WHMCS [https://docs.whmcs.com/Troubleshooting_Module_Problems module log] which may be useful if you experience any problems with the module.
 +
 
 +
 
 +
'' '''Important:''' Before providing any extra features to your WHMCS clients, remember to familiarize yourself with the [https://www.digitalocean.com/pricing/ additional costs] that may be applied to your DigitalOcean account.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_41.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_15.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|At the top of this page, your client can view current backup usage and backup limit.
+
|style="padding: 0px 0px 15px 15px;"|'''18. Afterward, set up incoming mail configuration.'''<br/>
 +
Due to API limitations, all emails with Droplet credentials can only be sent to your DigitalOcean [https://cloud.digitalocean.com/settings/profile profile] email address set in the panel [https://www.docs.modulesgarden.com/images/7/7c/DOD_Email_Profile.png here].<br/>This applies to messages with credentials sent after Droplet creation as well as messages sent after password reset.<br/>The solution to this problem is email piping that will be used to receive messages sent to your DigitalOcean mailbox and then forwarded through the templates further to your WHMCS clients.<br/>
 +
 
 +
'' '''Note:''' Even though the module filters the received messages in your mailbox, we recommend that you use a '''separate''' mailbox for your main DigitalOcean profile account to avoid any issues with non-DigitalOcean content.''<br/>
 +
 
 +
After setting up the dedicated mailbox, provide its valid credentials below and test whether the connection has been established correctly.<br/>
 +
 
 +
'''''Note:''' There is available an option to 'Disable Certificate Validation'. Please toggle this option ONLY if you are having troubles with the connection. The certificate validation will be omitted when connecting to an email box.'' <br/>
 +
 
 +
'''Important!''' Please note that you need to provide a full path to the proper directory in the '' 'Mailbox Folder' '' field. Separate different directories with a dot (for example '''INBOX.FOLDER''').
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_42.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_16.png]]
 
|}
 
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Once the connection is successful, remember to '''save''' your module settings.<br/>From now on, the cron set during the last stage of the module's installation should periodically check that mailbox for DigitalOcean messages. <br/>If any new emails are received, they will be then converted to your email template and sent to the corresponding client.<br/>The default email templates for product creation and password reset can be specified below. Take a look at the [[#Tips|Tips]] section - tip no 4, and check the template content.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_17.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''19. The following section is dedicated to the Client Area Features.'''<br/>
 +
You will find here six options that can be enabled and then will be available to your clients in their client area. These options are:
 +
*'''Rebuild Droplet''' - if enabled, clients can rebuild their virtual machine in an adequate section.
  
===Console===
+
*'''Snapshots''' - if enabled, clients are granted access to the snapshots section
 +
 
 +
*'''Task History''' - if enabled, clients are allowed to view the history of the tasks
 +
 
 +
*'''Backups''' - if enabled, clients are allowed to view the history of the tasks
 +
<!--
 +
*'''Kernel''' - if enabled, clients are allowed to change their current kernel to any other available<br/>'''''Note:''' Kernels' management is dependant on the selected OS and must be active in the panel. Before enabling, make sure the option functions correctly in the panel.''<br/> For more info on Kernels move [https://www.digitalocean.com/docs/droplets/how-to/kernel/  here].
 +
-->
 +
*'''Firewalls''' - if enabled, clients are allowed to create firewalls and manage inbound and outbound rules
 +
 
 +
*''Graphs'' -  if enabled, clients are allowed to view numerous graphs with data on virtual machine resource usage
 +
 
 +
*'''Available Images To Rebuild''' - Select OS images, One-click apps, and Snapshots from available to allow the client to use when rebuilding a droplet.<br/> Please note, that if you leave this field empty then all available OS images and One-click apps provided by DigitalOcean will be displayed in the client area to rebuild except the snapshots.<br/> Keep in mind that the available here list of OS Images includes all the snapshots, including the clients' private ones. Be careful when selecting them.<br/> You can also ignore this option if you want to allow rebuild Droplet with only the initially chosen image.
 +
 
 +
*'''Change Hostname''' - if enabled, clients may give their hostname a unique name
 +
 
 +
*'''Rebuild Initially Chosen Image Only''' - if enabled, clients will be able to rebuild the droplet only on the OS that was originally chosen for the purchased product instead of to any images that you can select below.
 +
 
 +
* '''Power On ''' - decide if clients should have access to the '' 'Power on' '' section.
 +
 
 +
*''' Power Off ''' - once enabled, clients will have access to the '' 'Power Off' '' section.
 +
 
 +
*''' Shut Down''' - decide if clients should access the '' 'Shut Down' '' section.
 +
 
 +
* '''Reboot ''' - once enabled, clients will access the '' 'Reboot' '' section.
 +
 
 +
* '''Reset Password ''' - if you enable it, clients will be granted access to the '' 'Reset Password' '' section.
 +
|}
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|One of the most interesting functionalities is noVNC console(7) (which uses HTML5) where your clients can remotely manage server.<br/> To access it, simply press on the '' 'Console' '' button. A new window will be opened, so make sure your browser does not block it.<br/>
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_17_1.png]]
'' '''Note:''' If the noVNC console does not work, make sure that it was enabled in your DigitalOcean Droplets panel. There you can also test if it works properly.  
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_43.png]]
+
|style="padding: 0px 0px 15px 15px;"|'''20. At the end of the configuration process, you can decide whether you want to generate configurable options for the product.'''<br/>
 +
Configurable options can be used by your clients to select each Droplet parameter individually during order placement.<br/>Otherwise, if configurable options are not defined, then the fixed parameters specified in the earlier configuration will be used instead.<br/>
 +
 
 +
'''''Note:''' When upgrading to version 1.8.0, please remember to update the configurable options related to '''"Floating IPs"''' as these have been replaced with the '''"Reserved IPs"''' option.<br/> Both the name and the variable need to be adjusted.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_18.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|If you decide to use configurable options, press on the 'Create' button and select which options you want to generate.<br/> Note that the configuration for disabled options will still be taken from the configuration of the main product.<br/>More information about how to use configurable options can be found [https://www.docs.modulesgarden.com/General#How_To_Use_Configurable_Options here] or in the official WHMCS [https://docs.whmcs.com/Addons_and_Configurable_Options documentation].
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_18_1.png]]
 
|}
 
|}
  
===Firewall Management===
+
===SSH Keys===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Under '' 'Firewall Management' '' (9) section the client can set up firewall for their virtual server.<br/>
+
|style="padding: 10px 0px 15px 15px;"|'''In the '' 'Custom Fields' '' tab you will find a '' 'SSH Public Key' '' field which is displayed to clients on the [[#Ordering|order form]] by default.'''<br/>
They can '' 'Enable' ''/'' 'Disable' '' firewall(1), add new firewall rules(2), view existing rules list and manage existing rules(3).<br/>
+
This field is optional. It allows your clients to insert their public key in order to be able to log in to Droplet without using a password.<br/>The provided key should be in one of the ''OpenSSH'' formats which are supported by DigitalOcean API. This includes the following types:
''' ''Note: 'Firewall Management' is available only for 'DigitalOcean Droplets  Container' server type.'' '''
+
*ssh-rsa
 +
*ssh-dss
 +
*ecdsa-sha2-nistp256
 +
*ecdsa-sha2-nistp384
 +
*ecdsa-sha2-nistp521
 +
*ssh-ed25519
 +
If you would like to limit the possibility of entering the key e.g. only to the '' 'ssh-rsa' '' format, you can use the regular expression in the validation field, such as:
 +
 +
#ssh-rsa AAAA[0-9A-Za-z+/]+[=]{0,3}( [^@]+@[^@]+)?#
 +
 
 +
More information about how DigitalOcean handles SSH keys and how to create them can be found [https://www.digitalocean.com/docs/droplets/how-to/add-ssh-keys/ here]. <br/>
 +
If you do not want this field to be available to customers during the ordering process, simply uncheck '' 'Shown on Order Form' '' option.<br/> Remember that API allows such action only '''once''', during the initial VM creation. <br/>
 +
 
 +
'' '''Important:''' During tests we discovered that some OS images such as 'CoreOS', 'CentOS' or 'FreeBSD', may '''require''' the SSH key to create a Droplet.<br/>In such cases, we recommend that you additionally check the 'Required Field' option for such products. ''<br/>
 +
 
 +
''Please also note that when the SSH key is provided, DigitalOcean may '''not''' send the welcome email after Droplet creation.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_44.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_28.png]]
 
|}
 
|}
  
===Usage Statistics===
+
===User Data Scripts===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|At '' 'Usage Statistics' '' your client can view  information about resource used by his virtual server.<br/>
+
|style="padding: 10px 0px 15px 15px;"|User data is arbitrary data that can be executed during Droplet creation, typically during the first boot of a cloud server.<br/>This allows you to perform tasks or run scripts as the root user which can be extremely useful when provisioning a server.<br/>
He can find resource usage and graphs of CPU, memory, bandwidth and disk.<br/>
+
 
Additionally, he can choose period of resource usage to display on graphs.
+
You can provide your own scripts using 'cloud-config' or 'Bash'. By default, we provide two exemplary scripts for changing the OS password or inserting SSH key, which you can use as a reference.<br/>
 +
The script you want to include has to be located in the '' '/your_whmcs/modules/servers/DigitalOceanDroplets/storage/userDataFiles/' '' directory and may '''not exceed 64 KiB''' in size.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_45.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_29.png]]
 
|}
 
|}
===IP Management===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Here your client can find all IP addresses assigned to their virtual server.<br/>
+
|style="padding: 0px 0px 15px 15px;"|Once you create your own script, it can be chosen for product execution.<br/>
They can also order new IP addresses.
+
You can provide multiple scripts for configurable options, but only one can be chosen for Droplet creation.<br/>
 +
If you would like to execute several different scripts at once, you should try combining them within a single file.<br/>
 +
 
 +
Remember that the scripts you provide should be compatible with the given distribution.<br/>
 +
You can learn more [https://www.digitalocean.com/community/tutorials/how-to-use-cloud-config-for-your-initial-server-setup here] about how to use cloud-config for the initial server setup. [https://developers.whmcs.com/provisioning-modules/module-parameters/ Here] you find a list of supported module parameters and their descriptions.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_46.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_30.png]]
 
|}
 
|}
 +
 +
=Management=
 +
==Admin Area==
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|To order new IP addresses, press '' 'Order New IP'. ''<br/>
+
|style="padding: 10px 0px 15px 15px;"|''' DigitalOcean Droplets For WHMCS allows you to monitor and manage your customer Droplets from the admin area of your WHMCS system.'''<br />
''Note 1: To order a new IP you have to generate configurable options for 'Number of Public IP' and 'Number of Private IP'.''<br/>
+
This includes supervision of such features like:
''Depending on generated configurable options, your client will be able to order public IP, private IP or both.''<br/>
+
# Configurable options which enable you to view the chosen Droplets resources.<br/>'' '''Important:''' Due to API limitations, the only two configurations possible to modify for the already created VM through the 'Change Package' functionality are the ''' 'Size Slug Plan' ''' option for Droplet resizing and ''' 'Floating IPs' ''' for assign/unassign.<br/> And even these actions may not always be allowed! You can also change the snapshots, backups, firewalls and rules limits, which values are only kept locally on the WHMCS server.''
''Note 2: You can hide these configurable options from the order form. You can find instruction [http://www.docs.modulesgarden.com/Parallels_Cloud_Server#Hiding_Configurable_Options here].
+
# Module commands, service action and additional options enable you to manage Droplet status and features.
 +
# Server information provides you with the current status, resources and options set for the Droplet.
 +
'''''Note:''' If "Random Domain Prefix" is provided in the module settings then the "Hostname" field, if empty, will be automatically filled in by the module after triggering the "Create" command.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_47.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_19.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Popup will appear, select IP address type and press '' 'Order'. ''
+
|style="padding: 0px 0px 15px 15px;"|<ol start="4">
 +
<li>Network information presents assigned IPv4 and IPv6 addresses to the Droplet along with their gateway, interface type, used netmask or CIDR as well as floating IP, if assigned.</li>
 +
<li>You can easily view and make new snapshots of the Droplet.</li>
 +
<li>The automatic Droplet backups can be restored here as well.</li>
 +
<li>You can also rebuild the Droplet OS to a different distribution.</li>
 +
<li>And finally, display all actions taken on Droplets in the tasks history table.</li>
 +
</ol>
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_48.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_20.png]]
 
|}
 
|}
  
==Management of Configurable Options==
+
==Ordering==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|When you successfully set up a product, your client can order it by choosing amount of resources from default configurable options.
+
|style="padding: 10px 0px 15px 15px;"|Owing to configurable options, you are able to offer a product which your clients can tailor according to their needs.<br />Additionally, you are able to set up pricing for each configurable option, which makes your offer even more competitive.<br/>
 +
 
 +
Based on the custom [[#SSH Keys|SSH key]] field configuration, you might also insert your public SSH key, which will allow you to log in to a Droplet without the need to use the password.<br/>Note that this key should be in one of the ''OpenSSH'' standard formats which are supported by API, e.g. ''ssh-rsa''.<br/>
 +
 
 +
After the order placement and successful VM creation, the Droplet credentials will be sent to the client's email address according to the set cron execution intervals.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_49.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_21.png]]
 
|}
 
|}
===Editing Configurable Options===
+
 
 +
==Client Area==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In case these options don't suit your needs, you can edit them.<br/>
+
|style="padding: 10px 0px 15px 15px;"|Client area interface of DigitalOcean Droplets should look like the one on the screen below.<br/>As you can see, the control panel contains useful options required for managing a Droplet.<br />
To do so, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Configurable Option' ''.<br/>
+
The module allows your customers to easily power on/off, shutdown, reboot and reset password of their servers through pressing the corresponding buttons.<br />
Afterwards, press edit button next to configurable option used by your product (its name is '' 'Configurable options for your_product_name' '').
+
Clients can also rebuild the server, create and restore snapshots, create firewalls and manage their rules, access automatic backups and view tasks history with their current status.<br/>
 +
Additionally, clients can change the name of the hostname, view the current Droplet parameters, resources and all set options, as well as the assigned IP addresses.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_50.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_22.png]]
 
|}
 
|}
 +
 +
===Rebuild Droplet===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Here you can view all products this configurable option group is assigned to.<br/>
+
|style="padding: 10px 0px 15px 15px;"|This feature allows your clients to rebuild their virtual machine and change a server's OS image.<br />
Now, let us show you how to edit options. Lets say you want to add an option to order VPS with 1000 GB disk.<br/>
+
Press the shown below button in order to reinstall your server to the chosen image and confirm your choice.<br/>
To do so, edit '' 'hddSize_gb|Disk Size in GB' '' by pressing edit button as shown on the screen below.
+
Please remember that this will also wipe the previously saved data on the VM disk.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_51.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_23.png]]
 
|}
 
|}
 +
 +
===Snapshots===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You will see a popup window, so make sure your browser will not block it.<br/>
+
|style="padding: 10px 0px 15px 15px;"|Use snapshots to save the current contents of the virtual machine memory.<br/>You may use them later to restore the VM's settings.  
Edit '' 'Maximum Allowed' '' textbox as shown on the following screen.<br/>
+
Afterwards, press '' 'Save Changes'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_52.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_24.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Press the '' 'Create New Snapshot' '' button and enter the unique snapshot name.<br/>Please note that the spaces in the snapshot name will be ignored by the API and saved as a single string name anyway .
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_25.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|Creating a snapshot may take a while, so it will not appear on the list right away.<br/>Its progress status can be tracked in ''[[#Tasks History|Tasks History]]'' or by refreshing the snapshot list manually.
 
|}
 
|}
  
===Hiding Configurable Options===
+
===Backups===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|If you decide to hide configurable options from a client order form, follow steps below.<br />
+
|style="padding: 10px 0px 15px 15px;"|If the automatic backups have been enabled for the Droplets products, then your client will be able to restore them from this section.<br/>DigitalOcean uses a snapshot-based backup system. This provides system-level backups of a server without powering it down. <br/>
Firstly, go to '' 'Setup' '' '' 'Products/Services' '' '' 'Configurable Option'. ''
+
'' '''Note:''' This process happens '''automatically''' within a pre-determined scheduling window, and is completed in the background while the Droplet is running.<br/>Client cannot force the creation of an additional copy on demand or delete it - this however can be achieved by using [[#Snapshots|snapshots]] feature.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_53.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_26.png]]
 
|}
 
|}
 +
 +
<!--
 +
===Kernels===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Afterwards, tick '' 'Hidden' '' checkboxes next to configurable options you want to hide.<br />
+
|style="padding: 10px 0px 15px 15px;"|In '' 'Kernels' '' section you may see kernels available and change your current one.<br/> Use the marked on the screen button to upgrade your Kernel.
On the screen below you can see hiding of '' 'Number of Public IP' '' and '' 'Number of Private IP'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_54.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_26_1.png]]
 
|}
 
|}
 +
-->
  
==Management of Billing==
+
===Firewalls===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|When you combine DigitalOcean Droplets  For WHMCS with [http://www.docs.modulesgarden.com/Advanced_Billing_For_WHMCS Advanced Billing For WHMCS], you will be able to set up additional billing options.<br/>
+
|style="padding: 10px 0px 15px 15px;"|'' 'Firewalls' '' section allows to view and create firewalls that will protect your Droplet from external attacks.<br/>
Module allows you to charge your customers based on the server resources used by them.<br/>
+
Press '' 'Create Firewall' '' button to create one.
''Note: To set price for specific template you need to have it assigned to product configurable options.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_55.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_26_2.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|With Advanced Billing module, you can also display your customers the current server resource usage and their cost.
+
|style="padding: 0px 0px 20px 15px;"|Type in a unique name. You cannot provide a '' 'Firewall Name' '' that is already used by another Droplet.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_56.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_26_3.png]]
 
|}
 
|}
 
==Management of Existing Accounts==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''You can easily use DigitalOcean Droplets  For WHMCS module with your existing DigitalOcean Droplets accounts. To do so, follow the instructions below:'''<br />
+
|style="padding: 0px 0px 15px 15px;"|A new firewall will appear on the list, note that it will have an ID assigned and a default inbound rule automatically created. <br/>
1. Create and configure a DigitalOcean Droplets  server and a server group.<br />
+
Press '' 'Edit' '' icon to move to the firewall rules management page.
2. Create and configure a DigitalOcean Droplets  product. '''Product configuration should be the same as virtual machine you want to connect to DigitalOcean Droplets  module.'''<br />
+
3. Place new order with previously created product for your customer (it is important to use same hostname as VM you want to use). '''Do not activate product yet.'''<br />
+
4. Go to '' 'Products/Services' '' section of freshly created product and press '' 'Assign VM by Name' '', this will only connect VM by UUID, and get IP addresses list.<br />
+
6. Set product status to '' 'Active' ''.<br /><br />
+
'''Remember to not click '' 'Create' '' button during the entire process. That would unnecessarily create a new virtual machine.'''<br /><br />
+
If you decide to remove VM and you do not want to configure it on WHMCS system, create product with its hostname and use '' 'Delete VM by Name' ''.<br />
+
'''Use '' 'Delete VM by Name' '' button with care.<br />
+
Both  '' 'Assign VM by Name' '' and '' 'Delete VM by Name' '' can be found in admin area of uncreated DigitalOcean Droplets  product.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|[[File:DOD_56.1.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_26_4.png]]
 
|}
 
|}
 +
====Firewall Rules====
 +
{|
 +
|style="padding: 10px 0px 20px 15px;"|Every newly created firewall has a default, exemplary rule created. To create your own rules, just click the marked button.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_26_5.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|Finally, setup the rule by selecting:
 +
*'''Application''' - you can select one of the predefined applications on the basis of which the default port will be automatically filled in
 +
*'''Rule Type''' - configure the firewall rules for incoming or outbound traffic
 +
**Inbound - the specified ports will accept inbound connections only, any other traffic will be blocked
 +
**Outbound -  the outbound traffic will be allowed for the specified ports, any other traffic will be blocked
  
=Tips=
+
*'''Protocol''' - Select the type of allowed traffic:
 +
**TCP
 +
**UDP
 +
**ICMP
 +
 
 +
*'''Ports''' - Provide ports to allow the traffic on, accepted forms:
 +
**single port (eg. 80)
 +
**range (eg. 8000-9000)
 +
**‘all’ – to open all ports
 +
**leave empty - for ICMP protocol type
 +
 
 +
*'''IP Address''' - add IP addresses, use coma to separate. Both IPv4 and IPv6 are supported.<br/>To add a rule for all addresses at once use:
 +
** '' '0.0.0.0/0' '' for IPv4
 +
** '' '::/0' '' for IPv6
 +
|}
 
{|
 
{|
|style="padding: 10px 0px 5px 15px;"|1. Operations performed on the virtual servers are not executed immediately.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_26_6.png]]
Give your DigitalOcean Droplets  servers some time for processing the request and execution of operation.  
+
 
|}
 
|}
 +
 +
===Tasks History===
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|2. To change password, OS on VM has to finish a boot sequence. Password is changed when ready status is detected by cron.
+
|style="padding: 10px 0px 15px 15px;"|Tasks history allows you to view all tasks performed on your VM with the current progress status. <br/>Please note that these actions are also collected from the DigitalOcean API.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 5px 15px;"|3. You can also check if your server connection is configured correctly.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_27.png]]
Go to '' 'Setup' '' → '' 'Product/Services' '' → '' 'Servers' '' and press '' 'Test Connection' '' button next to your server.
+
 
|}
 
|}
 +
===Graphs===
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_56_2.png]]
+
|style="padding: 10px 0px 15px 15px;"|Once entering the '' 'Graphs' '' section, clients will be moved to the page with the generated graphs showing:
 +
*'' 'CPU Usage' ''
 +
*'' 'Memory Usage' ''
 +
*'' 'Average Load' ''
 +
*'' 'Disk Usage' ''
 +
*'' 'Bandwidth Usage' ''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:DOD_27_0.png]]
 
|}
 
|}
  
=Update Instructions=
+
=Importing Existing Droplet=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|Essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/><br/>
+
|style="padding: 10px 0px 15px 15px;"|In this section, you can find short instruction on how to connect one of your clients to your already existing Droplet in DigitalOcean. <br/> Take the following steps to make sure that the process will be carried out properly. <br/>
Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!<br/>
+
1. Firstly, manually create an order for your customer in WHMCS. Choose a client and in the summary, view click on the '' ' Add New Order' '' button. Next, select a '' 'Product/Service' '' and press '' 'Submit Order' ''. <br/> '''What is important, do not perform the '' 'Create' '' action.''' The status has to remain as '' 'Pending' ''. <br/> More info about placing orders can be found [https://docs.whmcs.com/Order_Management#Placing_an_Order here]<br/>
To take advantage of it, simply use the '''License Upgrade''' button located on the product's page and a discounted invoice will be generated automatically.<br/>
+
2. Proceed to the newly created product's card in your admin area. Find the following empty fields:
 +
*'''Server ID'''
 +
*'''Firewalls''' (needed if there are any '' 'Firewalls' '' on your Droplet, if not, provide only '' 'Server ID' '')
 +
 
 +
The above-mentioned information has to be consistent with the data from your DigitalOcean panel. Now, complete these fields as presented below. <br/> '''Important!''' Remember to make sure that the format of the provided data is compatible with the format supported by the module. You can preview it for another product of the module you have already created and enter it in a similar way. <br/> If you completed the required data, now change the status from '' 'Pending' '' to '' 'Active' '' and '' 'Save Changes' ''.
 
|}
 
|}
==How To Update==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|1. If you switch from Parallels Cloud Server to newer version of DigitalOcean Droplets, follow the below steps.<br/>
+
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_import.png]]
Firstly, download the latest version from your client area.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_1.png]]
+
|style="padding: 0px 0px 15px 15px;"|3. If the completed data is correct, after refreshing the page, you will see the attached Droplet from DigitalOcean. <br/> '''Important!'''  Remember to manually add other missing parameters of the instance such as domains, credentials, IP Addresses, configurable options, SSH Key, billing cycle, etc.  so they match the parameters of the attached Droplet from DigitalOcean.  
 
|}
 
|}
 +
 +
=Tips=
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|2. In the downloaded file you will find two packages that support different PHP versions.<br/>As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.3.7 up to PHP 5.6.<br/>It does not apply to open source versions.<br/>
+
|style="padding: 10px 0px 5px 15px;"|1. You can use the [https://www.modulesgarden.com/products/whmcs/dns-manager DNS Manager For WHMCS] module to manage your Droplet DNS records.<br/>
'' Note: You can check current PHP version in your WHMCS. To do so proceed to 'Utilities' → 'System' → 'PHP Info'.''
+
It already has a built-in support for DigitalOcean DNS server.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_2_1_1.png]]
+
|style="padding: 0px 0px 5px 15px;"|2. Some of the features like ''IPv6, private networking'' or ''monitoring'' can only be activated '''once''' and cannot be disabled later on.<br/>
 +
Use these features wisely as they can increase your Droplets maintenance costs.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.<br />
+
|style="padding: 0px 0px 10px 15px;"|3. There is an additional custom field named '' 'Firewalls'.'' It should be generated automatically when you upgrade the product.<br/> In case something goes wrong, please add the custom field manually. Take a look at the screen below to check its specification.
The content of PHP version files should look like this.  
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_2_2.png]]
+
|style="padding: 0px 0px 10px 25px;"|[[File:DOD_31.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|4. Then you need to update server settings in '' 'Products/Services' → 'Servers'. '' Find more [https://www.docs.modulesgarden.com/DigitalOcean Droplets_VPS_For_WHMCS#Configuration_of_Server here]
+
|style="padding: 0px 0px 5px 15px;"|4. '' 'DigitalOcean Droplet Create Droplet' '' email template includes information on:
 +
* Droplet Name - {$droplet_name}
 +
* User Name - {$droplet_user}
 +
* Password -  {$droplet_password}
 +
* Dedicated IP - {$service_dedicated_ip}
 +
 
 +
Please note that the last merge field has been added into the template in version 1.3.0. In case you started using the module earlier, you may add it manually.<br/>
 +
Underneath, you can see how the custom template looks like. You may surely edit it at '' 'WHMCS' → 'Setup' → 'Email Templates'.'' <br/> You will find there the second custom eamil template: '' 'Digital Ocean Password Reset Email' '' as well.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|5. Finally, update your product details. To do so, move to '' 'Products/Services' → 'Products/Services'. '' Find details [https://www.docs.modulesgarden.com/DigitalOcean Droplets_VPS_For_WHMCS#Configuration_of_Product here.]
+
|style="padding: 0px 0px 10px 25px;"|[[File:DOD_32.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|6. If you are updating from Parallels Cloud Server 1.0.5 or older, you have to make additional changes.<br />
+
|style="padding: 0px 0px 0px 15px;"|5. There is the possibility to change a name of the particular OS that is visible in the '' 'Rebuild Droplet' '' section in both admin and client area.<br/>
Update configurable options of product using DigitalOcean Droplets  module.<br />
+
Firstly, find the language file that is located here '''your_whmcs/modules/servers/DigitalOceanDroplets/langs''' <br/>
Update ordered product using DigitalOcean Droplets  module.
+
Let's change the name of the following OS from ''NetFoundry Cloud Gateway 6.1.0 on CentOS 7.7'' into '' NFC G 6.1.0 on CentOS 7.7'' :
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''Your module and products have been just successfully updated, good job!'''
+
|style="padding: 0px 0px 10px 25px;"|[[File:DOD_33.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 15px;"| To do so, we need to add this line to the lang file:<br/> '''Remember that you can only modify the second part of the line after the '' = '' sign.'''
 +
<pre> $_LANG['NetFoundry Cloud Gateway 6.1.0 on CentOS 7.7'] = "NFC G 6.1.0 on CentOS 7.7"; </pre>
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 15px;"| As a result, the name is changed.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:DOD_34.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"| 6. List of supported operating systems and applications. Note that the below lists are current as of February 2022 and could be updated since then:
 +
|}
 +
{| class="wikitable" style="margin-left: 15px; margin-bottom: 20px; margin-top: 0px;"
 +
|-
 +
! Operating System Name
 +
!
 +
|-
 +
| CentOS 7 x64
 +
| FreeBSD 12.2 zfs x64
 +
|-
 +
| CentOS 8 Stream x64
 +
| RancherOS 1.5.8 x64
 +
|-
 +
| Debian 11 x64
 +
| Rocky Linux RockyLinux 8.4 x64
 +
|-
 +
| Debian 9 x64
 +
| Rocky Linux RockyLinux 8.5 x64
 +
|-
 +
| Fedora 34 x64
 +
| Ubuntu 18.04 (LTS) x64
 +
|-
 +
| Fedora 35 x64
 +
| Ubuntu 20.04 (LTS) x64
 
|}
 
|}
  
=Common Problems=
+
{| class="wikitable" style="margin-left: 15px; margin-bottom: 30px; margin-top: 0px;"
 +
|-
 +
! Application Name
 +
!
 +
!
 +
|-
 +
| Acra 0.85.0 on Ubuntu 18.04
 +
| Hasura GraphQL on Ubuntu 18.04
 +
| PhpMyAdmin 5.0.3 on Ubuntu 20.04
 +
|-
 +
| Airbyte 0.30.25 on Ubuntu 20.04
 +
| Hector dev test 2 0.0.1 on Ubuntu 20.10
 +
| PhpMyAdmin on Ubuntu 18.04
 +
|-
 +
| Akaunting on Ubuntu 18.04
 +
| hector inmutable slugs 2 yeeeeeet 1.0.0 on Ubuntu 20.01
 +
| Plesk (CentOS) 18.0 on CentOS 7.7
 +
|-
 +
| Akaunting on Ubuntu 20.04
 +
| hector-test-image-slug
 +
| Plesk (CentOS) 18.0 on CentOS 7.9
 +
|-
 +
| Ant Media Server Community Edition 2.1.0 on Ubuntu 18.04
 +
| Helpy 2.4 on Ubuntu 18.04
 +
| Plesk 17.8 on CentOS 7
 +
|-
 +
| Ant Media Server Community Edition 2.4.1 on Ubuntu 18.04
 +
| Helpy Pro 3.2.7.1 on Ubuntu 18.04
 +
| Plesk 18.0 on Ubuntu 20.04
 +
|-
 +
| Ant Media Server Enterprise Edition 2.2.1 on Ubuntu 18.04
 +
| HoneyDB Agent on Debian 9
 +
| Plesk 18.0 on Ubuntu 20.04
 +
|-
 +
| Ant Media Server Enterprise Edition 2.4.1 on Ubuntu 18.04
 +
| Hubs Cloud Personal 1.1.0 on Ubuntu 18.04
 +
| Plone In A Box™ 5.2.2 on Ubuntu 20.04 (LTS)
 +
|-
 +
| ApisCP 3.2 on CentOS 8.2
 +
| HumHub 1.10.2 on Debian 10
 +
| Prometheus 2.9.2 on Ubuntu 18.04
 +
|-
 +
| ApisCP 3.2 on CentOS 8.2
 +
| Hyperledger Fabric Cloud Lab 1.4.2 on Ubuntu 18.04
 +
| Purdm 0.3a on Ubuntu 18.04
 +
|-
 +
| Appsmith 1.5 on Ubuntu 20.04
 +
| Influx TICK on Ubuntu 18.04
 +
| PyboxTech-Med 1.75 on Ubuntu 20.04
 +
|-
 +
| Appwrite 0.12.0 on Ubuntu 20.04
 +
| Invoice Ninja 1.0.0 on Ubuntu 18.0.4
 +
| Python/Django Quickstart 1.1 on Ubuntu 18.04
 +
|-
 +
| Appwrite 0.7.0 on Ubuntu 18.04
 +
| Invoice Ninja 5 on Ubuntu 20.0.4
 +
| QCObjects 2.1.157 on Ubuntu 18.04
 +
|-
 +
| authentik 2022.1.3 on Ubuntu 20.04
 +
| IOTA Hornet Node on Ubuntu 20.04
 +
| QloApps 1.5.0 on Ubuntu 18.04
 +
|-
 +
| AutoPanel - Wordpress Automation 1 on Ubuntu 20.04.2 LTS
 +
| ISPmanager 6.8.2 on CentOS 7.x
 +
| QuestDB 6.1.2 on Ubuntu 20.04
 +
|-
 +
| AzuraCast 0.11.2 on Ubuntu 20.04
 +
| ISPmanager Lite 5.246.0 on CentOS 7.x
 +
| Reblaze WAF 2.12.10 on Ubuntu 18.04
 +
|-
 +
| AzuraCast 0.12 on Ubuntu 20.04
 +
| Izenda 3.3.1 on Ubuntu 18.04
 +
| Redash 8.0.0 on Ubuntu 18.04
 +
|-
 +
| Bagisto on Ubuntu 18.04
 +
| Jelastic PaaS 6.0-5 on Centos 7
 +
| Repman 0.4.1 on Ubuntu 18.04 (LTS)
 +
|-
 +
| bcoin on Ubuntu 18.04
 +
| JetBackup 5 on CentOS 7.9
 +
| Restyaboard (CentOS) 0.6.8 on CentOS 7.6
 +
|-
 +
| BigBlueButton Server 2.2 on Ubuntu 16.04
 +
| Jitsi Server 2.0.6726 on Ubuntu 20.04
 +
| Restyaboard (CentOS) 0.6.9 on CentOS 7.6
 +
|-
 +
| Bitwarden 1.32.0 on Ubuntu 18.04
 +
| Jitsi Server 2.1-273 on Ubuntu 18.04
 +
| Restyaboard (CentOS) 1.7 on CentOS 7
 +
|-
 +
| Botpress 12.9.1 on Ubuntu 18.04
 +
| Kasm Workspaces 1.10.0 on Ubuntu 18.04
 +
| Restyaboard 0.6.8 on Ubuntu 16.04
 +
|-
 +
| Buddy on Ubuntu 18.04
 +
| Kepler Builder 1.0.10 on Ubuntu 18.04
 +
| Restyaboard 0.6.9 on Ubuntu 18.04
 +
|-
 +
| Budibase 1.0.0 on Ubuntu 20.04
 +
| Krill 0.6.0 on Ubuntu 18.04
 +
| Restyaboard 1.7 on Ubuntu 20.04
 +
|-
 +
| Bugfender 2020.2.0 on Ubuntu 18.04
 +
| Kubernetes 1.19 1.19.7-001 on Ubuntu 20.04
 +
| RethinkDB (Fantasia) 2.3.7 on Ubuntu 18.04
 +
|-
 +
| Bugfender 2021.1.0 on Ubuntu 20.04
 +
| LAMP on Ubuntu 18.04
 +
| RethinkDB 2.4.1 on Ubuntu 18.04
 +
|-
 +
| Caddy 2.2.1 on Ubuntu 18.04
 +
| LAMP on Ubuntu 20.04
 +
| Rocket.Chat 2.4.9 on Ubuntu 18.04
 +
|-
 +
| CapRover 1.10.1 on Ubuntu 18.04
 +
| Laravel 7.20.0 on Ubuntu 20.04
 +
| Rocket.Chat 4.1.2 on Ubuntu 20.04
 +
|-
 +
| CAST AI Kubernetes 1.18 1.18.6-7 on Ubuntu 20.04
 +
| LEMP 42 on Ubuntu 20.04
 +
| Roxy-WI 4.5.1 on CentOS 7
 +
|-
 +
| Chamilo 1.11.10 on Ubuntu 18.04
 +
| LEMP on Ubuntu 18.04
 +
| RStudio + H2O 1.2 on Ubuntu 18.04
 +
|-
 +
| Chevereto 1.3.0 on Ubuntu 20.04
 +
| Linux Alf.io 2.0-M3-2112-2 on Rocky Linux 8.5
 +
| RStudio + PkgDev 1.2 on Ubuntu 18.04
 +
|-
 +
| Chevereto-Free 1.6.2 on Ubuntu 20.04
 +
| Linux ApisCP 3.2 on Rocky Linux 8.5
 +
| RStudio + Stan 1.2 on Ubuntu 18.04
 +
|-
 +
| CloudBees Jenkins on Ubuntu 18.04
 +
| Live Helper Chat 3.84 on Centos 7.8.2003
 +
| RStudio 1.2 on Ubuntu 18.04
 +
|-
 +
| CloudPanel 1 1.0.4 on Debian 10.7
 +
| Magento 2 Open Source 1.3.1 on Ubuntu 20.04 (LTS)
 +
| RStudio 1.4 on Ubuntu 20.04
 +
|-
 +
| CloudPanel 1 1.0.5 on Debian 10.8
 +
| Magento 2 Open Source 1.5.1 on Ubuntu 20.04 (LTS)
 +
| Ruby on Rails 6.0.3.4 on Ubuntu 20.04
 +
|-
 +
| CloudPanel 1 1.0.7 on Debian 10.11
 +
| Mailcoach 3.0 on Ubuntu 18.04
 +
| Ruby on Rails on Ubuntu 18.04
 +
|-
 +
| Cloudron 6.0.1 on Ubuntu 20.04
 +
| Mailcoach 4.0 on Ubuntu 20.04
 +
| RunCloud-18.04 on Ubuntu 18.04
 +
|-
 +
| Cloudron 7.0.4 on Ubuntu 20.04
 +
| Mastodon 3.1.3 on Ubuntu 18.04
 +
| RunCloud-20.04 on Ubuntu 20.04
 +
|-
 +
| ClusterControl 1.9.2 on Ubuntu 20.04
 +
| Matrix (Synapse backend) 0.1.3 on Debian 10 (buster)
 +
| Saltcorn 0.6.0 on Ubuntu 20.04
 +
|-
 +
| code-server 3.0.2 on Ubuntu 18.04
 +
| Mattermost 5.16.3 on Ubuntu 18.04
 +
| Sandfly Security 3.2.0 on Ubuntu 20.04
 +
|-
 +
| Coin Collector by PowerTrader.net 1.2 on Ubuntu 20.04
 +
| MeiliSearch 0.25.2 on Debian 10 (buster)
 +
| SearchBlox Enterprise Search 9.2.1 on CentOS 7.6
 +
|-
 +
| Computing for COVID 3 on Ubuntu 18.04.4 LTS
 +
| Meltano 1.15.0 on Ubuntu 18.04
 +
| Selenoid 1.10.0 on Ubuntu 18.04
 +
|-
 +
| Countly Analytics 20.04.1 on Ubuntu 18.04
 +
| Meltano 1.31.0 on Ubuntu 18.04
 +
| ServerWand 1.0 on Ubuntu 18.04
 +
|-
 +
| cPanel & WHM® 84.0.14 on CentOS 7.6
 +
| Memgraph on Debian 9.7
 +
| ShinyProxy 2.4.0 on Ubuntu 20.04
 +
|-
 +
| cPanel & WHM® 92.0.11 on CentOS 7.6
 +
| Metabase 0.41.6 on Ubuntu 18.04
 +
| ShinyProxy 2.6.0.1 on Ubuntu 20.04
 +
|-
 +
| cPanel & WHM® RELEASE on CentOS 7.9
 +
| Microweber 1.2.0 on Ubuntu 20.04
 +
| Shopware on Ubuntu 18.04
 +
|-
 +
| CSMM 1.20.2 on Ubuntu 20.04
 +
| Microweber 1.2.10 on Ubuntu 20.04
 +
| SimpleX server 0.4.1 on Ubuntu 20.04
 +
|-
 +
| CUBITE lilac on Ubuntu 20.04
 +
| Minecraft: Bedrock Edition 1.0 on Ubuntu 20.04 (LTS)
 +
| Skaffolder 3.0 on Ubuntu 18.04
 +
|-
 +
| Curiosity 0.12549 on Ubuntu 16.04
 +
| Minecraft: Java Edition Server 1.0 on Ubuntu 18.04
 +
| Snapt Aria 2.0.0 on Ubuntu 18.04
 +
|-
 +
| CyberPanel 2.0.3 on Ubuntu 20.04
 +
| Mist 4.6.2 on Ubuntu 20.04
 +
| Snapt Nova ADC (Load Balancer, WAF) 1.0.0 on Ubuntu 18.04
 +
|-
 +
| CyberPanel 2.1.1 on Ubuntu 20.04
 +
| MongoDB 4.0.3 on Ubuntu 18.04
 +
| Solder.io 0.7.6 on Ubuntu 18.04.5
 +
|-
 +
| CyberPanel Joomla 3.0.10 on Ubuntu 20.04
 +
| MongoDB 4.4.1 on Ubuntu 20.04
 +
| SolidInvoice 2.0.3 on Ubuntu 18.04
 +
|-
 +
| CyberScore 5.0.1 on Ubuntu 18.04.3
 +
| moodle 3.10 on Debian 10
 +
| Speckle Server 2 on Ubuntu 20.04
 +
|-
 +
| DeadLetter Facial Recognition on Ubuntu 18.04
 +
| MySQL 8.0.21 on Ubuntu 20.04
 +
| Spotipo 3.4.13 on Ubuntu 18.04
 +
|-
 +
| Decentralized Internet 5.3.5 on Ubuntu 18.04
 +
| MySQL on Ubuntu 18.04
 +
| Strapi 3.1.0 on Ubuntu 18.04
 +
|-
 +
| Directus 9 on Ubuntu 18.04
 +
| Nakama 2.7.0 on Ubuntu 18.04
 +
| Supabase Postgres 0.15.0 on Ubuntu 18.04
 +
|-
 +
| Discourse 2.5.0.beta3 on Ubuntu 18.04
 +
| NetBox 2.10.4 on Ubuntu 20.04
 +
| Supabase Realtime 0.7.5 on Ubuntu 18.04
 +
|-
 +
| Discourse on Ubuntu 20.04
 +
| NetFoundry Zero Trust Networking 7.3.0 on CentOS 7.8
 +
| Teleport 8.0.1 on Ubuntu 20.04
 +
|-
 +
| Django 2.2.12 on Ubuntu 20.04
 +
| NethServer 7.9.2009 on CentOS 7.x
 +
| ThePlanMinder PostgreSQL 1.03 on Ubuntu 20.04
 +
|-
 +
| Django 3.2 LTS 3.2.4 on Ubuntu 20.04
 +
| Netmaker 0.9.1 on Ubuntu 20.04
 +
| ThingsBoard CE on Ubuntu 18.04
 +
|-
 +
| Docker 19.03.12 on Ubuntu 18.04
 +
| Nimbella Lite on Ubuntu 18.04
 +
| ThingsBoard PE on Ubuntu 18.04
 +
|-
 +
| Docker 19.03.12 on Ubuntu 20.04
 +
| Ninjam on Debian 10.0 x64
 +
| titra 0.9.8 on Ubuntu 18.04
 +
|-
 +
| Dokku 0.17.9 on Ubuntu 18.04
 +
| NirvaShare 1.5.7 on Ubuntu 20.04 (LTS)
 +
| Traccar 4.10 on Ubuntu 20.04
 +
|-
 +
| Dokku 0.21.4 on Ubuntu 20.04
 +
| NKN Commercial 2.0 on Ubuntu 18.04
 +
| TRASA 1.1.2 on Ubuntu 20.04
 +
|-
 +
| Dokos 2.0.0 on Ubuntu 18.04
 +
| node-army 3.0 on Ubuntu 20.04
 +
| twigs 1.0.1 on Ubuntu 20.04 LTS
 +
|-
 +
| Doppler 1.0 on Ubuntu 20.04 (LTS)
 +
| node-army-3.0 3.0 on Ubuntu 20.04 (LTS)
 +
| UH VPN 1.2.0 on Ubuntu 20.04
 +
|-
 +
| DSuhinin-App-1 1.0 on Ubuntu 18.04
 +
| Node.js Quickstart 1.0 on Ubuntu 18.04
 +
| UTunnel VPN 1.0.0 on Ubuntu 20.04
 +
|-
 +
| EmailEngine 2.11.1 on Ubuntu 20.04
 +
| NodeGame 7.1.0 on Ubuntu 18.04
 +
| UXLens 0.7 on Ubuntu 18.04
 +
|-
 +
| ERPNext 12.5.0 on Ubuntu 18.04
 +
| NodeJS 12.18.1 on Ubuntu 20.04
 +
| uzERP 1.26.6 on Ubuntu 18.04
 +
|-
 +
| Erxes 0.17.6 on Ubuntu 18.04
 +
| Onion Routed Cloud 14 on Ubuntu 18.04
 +
| Varbase 8.7.11 on Ubuntu 18.04
 +
|-
 +
| Everlife.AI 2.2.0 on Ubuntu 20.04
 +
| Onjection Jenkins 2.164.3 on Ubuntu 16.04
 +
| Varnish Cache 6.0.10 on Ubuntu 18.04
 +
|-
 +
| FastNetMon 2.0 on Ubuntu 18.04
 +
| ONLYOFFICE Docs 7.0.0 on Ubuntu 20.04 LTS
 +
| VictoriaMetrics Single 1.71.0 on Ubuntu 20.04
 +
|-
 +
| FASTPANEL 1.9+deb10p151 on Debian 10
 +
| ONLYOFFICE Workspace 22.01.654 on Ubuntu 20.04 LTS
 +
| VitalPBX 3.0.4-1 on Centos 7.8
 +
|-
 +
| Fathom on Ubuntu 18.04
 +
| Open Source Social Network 6.1.0 on Ubuntu 18.04
 +
| vitalpointz IoT Core Lite 1.2.0 on CentOS 7.6
 +
|-
 +
| FileCloud 21.2.3 on Ubuntu 20.04
 +
| Open Unlight 1.0.0.pre1 on Ubuntu 18.04
 +
| Vodia Multi-tenant Cloud PBX 66 on Debian 10 x64
 +
|-
 +
| filecoin-lotus 1.11.0 on Ubuntu 20.04 (LTS)
 +
| OpenBoxes 0.8.14 on Ubuntu 20.04
 +
| WarpSpeed VPN 1.1.5 on Ubuntu 18.04
 +
|-
 +
| filecoin-lotus 1.13.0 on Ubuntu 20.04 (LTS)
 +
| OpenCart 3.0.3 on Ubuntu 18.04
 +
| Web-WordPress 5.7 on Ubuntu 20.04
 +
|-
 +
| Flashphoner Web Call Server 5.2.780 on CentOS 7.6
 +
| OpenCPU 2.2.4 on Ubuntu 20.04
 +
| WebDNA Server 8.6.4 8.6.4 on Ubuntu 18.04
 +
|-
 +
| Flexify.IO Multi-cloud / Migration 2.12.0 on Ubuntu 20.04 LTS
 +
| OpenFaaS on Ubuntu 18.04
 +
| WebMaker Server 10.6 on Ubuntu 20.04
 +
|-
 +
| Flexify.IO Multi-cloud / Migration 2.12.8 on Ubuntu 20.04 LTS
 +
| OpenLiteSpeed ClassicPress 1.2.0 on Ubuntu 20.04
 +
| WeconexPBX 2.4-1 on CentOS 7.6
 +
|-
 +
| Flipstarter 1.1.2 on Ubuntu 18.04
 +
| OpenLiteSpeed Django 2.2.3 on Ubuntu 18.04
 +
| Wiki.js 2.4.107 on Ubuntu 18.04
 +
|-
 +
| flussonic 21.08.1 on Ubuntu 20.04
 +
| OpenLiteSpeed Django 3.1.1 on Ubuntu 20.04
 +
| Wireguardian VPN Access Server 2110.0 on Ubuntu 20.04
 +
|-
 +
| Folding@home 0.0.1 on Ubuntu 18.04
 +
| OpenLiteSpeed Django 3.2.11 on Ubuntu 20.04
 +
| WireSpeed VPN 1.1.2 on Ubuntu 18.04
 +
|-
 +
| Free Cost Management 1-1-326707216-master on Ubuntu 20.04
 +
| OpenLiteSpeed Joomla 4.0.5 on Ubuntu 20.04
 +
| WireSpeed VPN 1.1.3 on Ubuntu 18.04
 +
|-
 +
| FreePBX® 15 on CentOS 7.6
 +
| OpenLiteSpeed NodeJS 10.15.3 on Ubuntu 18.04
 +
| WireSpeed VPN 1.1.5 on Ubuntu 18.04
 +
|-
 +
| FreePBX® 16 on CentOS 7.8
 +
| OpenLiteSpeed NodeJS 12.16.3 on Ubuntu 20.04
 +
| WordPress 5.5.1 on Ubuntu 18.04
 +
|-
 +
| Ghost on Ubuntu 18.04
 +
| OpenLiteSpeed NodeJS 12.20.2 on Ubuntu 20.04
 +
| WordPress 5.8 on Ubuntu 20.04
 +
|-
 +
| Ghost on Ubuntu 20.04
 +
| OpenLiteSpeed Rails 6.1.4.1 on Ubuntu 20.04
 +
| Workarea 3.5.x on Ubuntu 18.04
 +
|-
 +
| Gigantum Client 1.5.2 on Ubuntu 20.04
 +
| OpenLiteSpeed WordPress 5.3 on Ubuntu 18.04
 +
| WorkflowServer 2.5 on Ubuntu 18.04
 +
|-
 +
| Gitea 1.13.1 on Ubuntu 20.04
 +
| OpenLiteSpeed WordPress 5.6 on Ubuntu 20.04
 +
| X-Cart 5.4.1.4 on CentOS 7.6
 +
|-
 +
| Gitea 1.14.2 on Ubuntu 20.04
 +
| OpenLiteSpeed WordPress 5.9 on Ubuntu 20.04
 +
| Yacht 0.0.5-alpha on Ubuntu 20.04
 +
|-
 +
| GitLab Enterprise Edition on Ubuntu 20.04
 +
| OpenVPN + Pihole 1.1.1 on Ubuntu 18.04
 +
| Zabbix proxy 5.0.6 on CentOS 8
 +
|-
 +
| GitLab Enterprise Edition on Ubuntu 20.04
 +
| OpenVPN Access Server 2.8.5 on Ubuntu 18.04
 +
| Zabbix server 5.0.6 on CentOS 7
 +
|-
 +
| Gluu Server CE 4.2.1 on Ubuntu 20.04 (LTS)
 +
| Owncast on Debian 10
 +
| Zeromon Zabbix 4 on Ubuntu 18.04
 +
|-
 +
| Grafana 7.2.0 on Ubuntu 18.04
 +
| PacVim on Ubuntu 18.04
 +
| ZesleCP 3.1.6 on CentOS 7.x
 +
|-
 +
| GrandNode 2.0 1.1.0 on Ubuntu 18.04
 +
| Passbolt CE 2.13.5 on Ubuntu 18.04
 +
| Znuny 6.2.2 on Debian 10 (buster)
 +
|-
 +
| GrandNode 4.90.0 on Ubuntu 18.04
 +
| Passbolt CE 3.3.0-1 on Ubuntu 20.04
 +
| Znuny LTS 6.0.39 on Debian 10 (buster)
 +
|-
 +
| gutiumtestapp_new_test 2 on Ubuntu 20.04
 +
| Percona Monitoring and Management 2 2.21.0 on CentOS 7
 +
| ZoomAdmin 2.0.1 on Ubuntu 18.04.03
 +
|-
 +
| gutiumtestapp333 1 on Ubuntu 20.04
 +
| Perforce Helix Core 2021.2.2220431 on CentOS 7.9
 +
| Zulip 4.8 on Ubuntu 20.04
 +
|-
 +
| HarperDB 2.3.0 on Ubuntu 18.04
 +
| PhotoPrism on Ubuntu 20.04
 +
|
 +
|}
 +
 
 +
=Update Instructions=
 
{|
 
{|
|style="padding: 10px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
|style="padding: 10px 0px 30px 15px;"|An essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/>
 +
 
 +
* If you are upgrading a module from the version prior to 1.4.0 to a newer one, we also suggest updating the frequency of execution '' 'cron.php Tasks' '' as suggested in step 7 of the [[#Installation|installation]] guide.<br/>
 +
* After upgrading to version 1.8.0, please remember to update the configurable options related to '''"Floating IPs"''' as these have been replaced with the '''"Reserved IPs"''' option. Both the name and the variable need to be adjusted.
 
|}
 
|}
 +
=Upgrade Guide=
 
{|
 
{|
|style="padding: 0px 0px 5px 15px;"|2. It can happen that at your '' 'Module Settings' '' tab you can get loading gray screen.<br/>
+
|style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> 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.<br/>
Do not worry, it can take a while to download available settings from your PVA server.<br/>
+
 
But if loading takes too long, check if your server connection credential is set correctly.<br/>
+
Opt for the [https://www.modulesgarden.com/products/whmcs/digitalocean-droplets#open-source-version Open Source version] of your DigitalOcean Droplets For WHMCS module to unlock these benefits.<br/> Simply click on either the '''Get Source Code''' or '''Upgrade To Lifetime''' button found on the product's page in our client area to complete the one-step upgrade process, with a '''dedicated discount''' already applied.<br/>  
Remember, use connection credential to PVA server node, not PVA server itself.
+
 
 +
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.  
 
|}
 
|}
 +
 +
=Common Problems=
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|3. When you see message shown on the screen below, it means that you have not installed IP Manager For WHMCS.<br/>
+
|style="padding: 10px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
This module is needed to manage your IP addresses from DigitalOcean Droplets  addon, and can be downloaded from [https://www.modulesgarden.com/products/whmcs/ip-manager here].
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 25px 25px;"|[[File:DOD_57.png]]
+
|style="padding: 0px 0px 5px 15px;"|2. Certain OS distributions may cause the '' 'Action did not complete' '' error in task when trying to reset Droplet's password, even if the success notification is initially returned.<br/>
 +
This may be caused by the requirement to use the [[#SSH Keys|SSH key]] by given distribution instead of a password.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|'''4. It is not advised to use Parallels Cloud Server For WHMCS module with DigitalOcean Droplets  For WHMCS at the same time.'''
+
|style="padding: 0px 0px 10px 15px;"|3. Inserting the SSH key may prevent the welcome email being sent by DigitalOcean after Droplet creation.<br/>
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|5. If you are getting an error like this one:
+
|style="padding: 0px 0px 30px 15px;"|4. Some features like ''monitoring'' might not be supported by all configurations.<br/>
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'username.pcsNetworkClassConf' doesn't exist.
+
Please try choosing for example a different region or distribution.
when configuring product's module settings, make sure that the DigitalOcean Droplets addon has been enabled.
+
 
|}
 
|}

Latest revision as of 12:55, 26 April 2024

Contents

[edit] About DigitalOcean Droplets For WHMCS

DigitalOcean Droplets For WHMCS is a tool of invaluable usefulness which will allow you to provide Droplets to your audience in a completely automated manner.

The module will empower your clients to exert full control over their virtual machines through such actions as power on/off, reboot, server rebuild and many more.
At the same time you will be enabled to carry out a thorough supervision of all tasks performed on virtual servers directly from the admin area.

  • Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server
✔ Resize Server By Changing Size Slug For Droplet Plan
✔ Power On/Power Off/Shut Down/Reboot Server
✔ Reset Server Password
✔ Toggle Automatic Backups
✔ Enable Private Networking
✔ Enable Reserved IP Addresses
✔ Enable IPv6
✔ Change Server Hostname
✔ View Server Status And Details
✔ View Server Network Information
✔ View/Create/Restore/Delete Snapshots
✔ View And Restore Backups
✔ Rebuild Server With Chosen OS Distribution
✔ View Tasks History
✔ Configure Product Details:
✔ Choose Project
✔ Choose Region
✔ Choose Size Slug Plan
✔ Choose OS Image
✔ Define Additional Volume Size
✔ Define Snapshots Limit
✔ Define Firewalls Limit
✔ Define Inbound/Outbound/Total Firewall Rules Limit
✔ Define Droplet Tags
✔ Provide Random Domain Prefix
✔ Provide Firewall Prefix
✔ Choose Master SSH Key
✔ Toggle Automatic Backups
✔ Toggle Monitoring
✔ Toggle Reserved IP Addresses
✔ Toggle IPv6
✔ Toggle Private Networking
✔ User Data - Execute Custom Cloud-Config Or Bash Script To Customize Server On First Boot
✔ Allow SSH Key Inserting - Enable Logging In To Server Without Password
✔ Choose Features Available In Client Area:
✔ Rebuild Droplet
✔ Snapshots
✔ Tasks History
✔ Backups
✔ Firewalls
✔ Graphs
✔ Select Available Images To Rebuild Droplet:
✔ OS Distributions
✔ One-Click Install Apps
✔ Snapshots
✔ Change Hostname
✔ Rebuild Initially Chosen Image Only
✔ Power On
✔ Power Off
✔ Shut Down
✔ Reboot
✔ Reset Password
✔ Generate Configurable Options
✔ Choose Welcome Email And Password Reset Email Templates
✔ Configure Email Piping
✔ Run Server Connection Test
✔ Toggle Debug For Logging API Requests And Responses
  • Client Area Features:
✔ Power On/Power Off/Shut Down/Reboot Server
✔ View Server Status And Details
✔ View Server Network Information
✔ View/Create/Restore/Delete Snapshots
✔ View And Restore Backups
✔ Rebuild Server With Chosen:
✔ OS Distribution
✔ One-Click App
✔ Administrator's Snapshot
✔ View/Create/Edit/Delete Firewalls And Inbound/Outbound Rules For:
✔ TCP Protocol
✔ UDP Protocol
✔ ICMP Protocol
✔ Reset Server Password
✔ Change Server Hostname
✔ View Tasks History
✔ View Resources Graphs:
✔ CPU Usage
✔ Memory Usage
✔ Average Load
✔ Disk Usage
✔ Bandwidth Usage
✔ Choose Server Parameters During Order
✔ Provide SSH Key During Order
✔ Receive Email Notification After VM Creation And Password Reset
  • Configurable Options:
✔ Region
✔ Image
✔ Additional Volume Size
✔ Monitoring
✔ Private Networking
✔ Reserve IP Addresses
✔ Firewalls Limit
✔ Inbound Rules
✔ Outbound Rules
✔ Total Rules
✔ Size Slug Plan
✔ Snapshots Limit
✔ Backups
✔ IPv6
✔ User Data
  • General Info:
✔ Supports Both Standard Droplets And CPU Optimized Droplets Types
✔ Integrated With Advanced Billing For WHMCS - Actual Server Resource Usage Billing
✔ Integrated With DNS Manager For WHMCS - Manage DNS Records On DigitalOcean Directly
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products
✔ Fully Integrated With Lagom WHMCS Client Theme
✔ Multi-Language Support
✔ Supports PHP 8.1 Back To PHP 7.4
✔ Supports WHMCS Themes "Six" And "Twenty-One"
✔ Supports WHMCS V8.10 Back To WHMCS V8.6
✔ Requires ionCube Loader V12 Or Later
✔ Easy Module Upgrade To Open Source Version

[edit] Installation and Configuration

This tutorial will show you how to successfully install and configure DigitalOcean Droplets For WHMCS.

We will guide you step by step through the whole installation and configuration process.

[edit] Installation

1. Log in to our client area and download the module.
DOD 1.png
2. In the downloaded file you might find one or two packages that support different PHP versions.

In the most recent versions of the module, you will find only one package that supports PHP 7.4 and later.

PHP74 81.png
Previous updates of the module may contain two packages dedicated to various PHP versions.

The first one that supports PHP 5.6 up to PHP 7.3, and the second one addressed to PHP 7.2 up to PHP 7.4.
Note: Keep in mind that PHP versions 5.6 up to 7.3 are no longer officially supported and their security issues are not fixed or released any more. Find more info here.

PHP56 74 81.png
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.
3. Extract the package and upload its content into the main WHMCS directory.

The content of the package to upload should look like this.

DOD 2.png
4. When you install DigitalOcean Droplets For WHMCS for the first time, you have to rename the 'license_RENAME.php' file.

The file is located in 'modules/servers/DigitalOceanDroplets/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

DOD 3.png
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.
You can find your license key in our client area → 'My Products'.

DOD 4.png
6. Now, set up the 'storage' folder as recursively writable.

This folder is available at '/your_whmcs/modules/servers/DigitalOceanDroplets/'.

DOD 4 1.png
7. The last step is setting up three cron jobs.
  • Mail cron - will be used to send emails to clients after Droplet creation, rebuilt or password reset.
    You will find more information on this topic in the product configuration section. We suggest running the cron every 5 minutes:
    php -q /your_whmcs/modules/servers/DigitalOceanDroplets/cron/cron.php MailCron
  • Tasks cron - will be used to remove volumes from the panel after their termination. If not set, the admin will have to delete them manually
    Moreover, from the 1.4.0 module version it will also assign/unassign floatings IPs on the Droplet creation or its upgrade ( 'Change Package' module command).
    We suggest the cron to run every 5 minutes:
    php -q /your_whmcs/modules/servers/DigitalOceanDroplets/cron/cron.php Tasks
  • Firewall cron - will be used to synchronize Firewalls assigned to Droplets directly in the panel.
    You will find more information on this topic in the product configuration section. We suggest that the cron should run every hour:
    php -q /your_whmcs/modules/servers/DigitalOceanDroplets/cron/cron.php Firewall
    Remeber to replace 'your_whmcs' with your WHMCS root path.

[edit] Configuration of Server

8. Now, we will show you how to configure a new product.

Go to 'Setup' 'Products/Services' 'Servers' and press 'Add New Server' .

Note: If you have WHMCS V7.8.X or later, we recommend using your 'previous experience' of the server configuration instead of the new wizard tool.

DOD 5.png
9. Next, enter your server name and select 'DigitalOcean Droplets' from the 'Type' field.

Now, in the 'Password' field provide your DigitalOcean API token and check the connection. If successful, save changes.

Note: To find your API token, log in to your DigitalOcean panel and go to the API section where you can generate a new token.
You will need a token with read and write permissions. Remember to copy and store the token in the safe place because it will no longer be visible in the panel.
Click here to see an example where to find it.

Note 2: The 'Hostname' field is not used by the module, but if you use WHMCS V7.8.X, then a fatal error may occur when trying to save server settings without providing any hostname or IP address details.
In this case, try to provide anything in the hostname field. Please note that this is a bug that occurs in WHMCS, not in the module itself, and it may also appear in further versions of WHMCS.

DOD 6.png
10. It is time to create a server group. To do so, click on 'Create Server Group' .
DOD 8.png
11. Enter a name, click on your previously created server, press 'Add' and afterward 'Save Changes' .
DOD 9.png

[edit] Configuration of Product

12. In order to create and configure a product, go to 'Setup' 'Products/Services' 'Products/Services' .

Click on 'Create a New Group' .

DOD 10.png
13. Enter your product group name and press 'Save Changes' .
DOD 11.png
14. Once you have a product group, you can create a new product.

To do so, first click on 'Create a New Product' .

DOD 12.png
15. Afterward, choose your product type, enter your product name and choose the product group from the dropdown menu. Press 'Continue'.
DOD 13.png
16. Now, go to the 'Module Settings' section, choose both your previously created server group from the dropdown menu.

The module should automatically save and reload the settings. If not, click on the 'Save Changes' option manually.

DOD 14.png
17. Now, you can start configuring the settings of the Droplet you sell.

Just like when creating a new virtual machine in your DigitalOcean panel, here also you can configure such options as:

  • Project - Select a project on which the droplet will be created.
  • Region - Select the data center region. More distant server locations may increase the server's latency without providing any practical benefits to clients.
  • Size Slug Plan - Choose the size slug plan based on which resources will be allocated to the Droplet. You can read more about size slug indications here.
    Note: If you want to change their names to more user-friendly, you can do it in a language file.
  • Image - Select the image of the system that will be installed on Droplet.
  • Additional Volume Size - Allows you to create and attach additional SSD storage volume to Droplet in the provided size (in GB).
    If left empty or set to 0, then the volume will not be created and attached. Here you can find more information about DigitalOcean Block Storage.
  • User Data - Choose the execution script which will be used to configure Droplet on the first boot. Go here to find more information about how to use these scripts.
    Note 1: User Data scripts are optional for product configuration if you do not want to use them, simply set this field to the 'Do not use' option.
    Note 2: Please refer to the following article to find a list of supported module parameters and their descriptions.
  • Random Domain Prefix - here you can provide the domain prefix that will be applied when the domain is not provided.
  • Master SSH Key - If you do not want to share access to machines by SSH or require clients to provide their own keys while placing orders,
    then select your Master SSH Key from the panel here, as it will be used for all machines created on the basis of this product.
  • Reserved IP Addresses - Enable to automatically create a reserved IP address on Droplet on creation.
  • Backups - Enables automatic system-level backups. It can be used for backup images, to revert the server or create new Droplets. Click here for more information.
  • Monitoring - Enables additional Droplet metrics collection, monitoring, and alerting. Here you can find out more.
  • Snapshots Limit - Snapshots provide a full copy of a Droplet, saving everything from a Droplet's disk to a disk image. Here you can define the maximum number of snapshots that can be stored at one time.
  • Firewalls Limit - Firewalls block your servers and machines from external attacks. Here you can define the maximum number of firewalls that a client may add per virtual machine. Enter '0' to disable firewalls, leave empty to set no limits.
    Note 1: You may create more firewalls in the panel which will be assigned with a cron run, the limit in such case can be exceeded.
    Note 2: A cron command is required to synchronize firewalls assigned and managed in the DigitalOcean Droplets Panel.
  • Inbound Firewall Rules Limit - Enter how many inbound rules a user can create per one firewall. Enter -1 for unlimited.
  • Outbound Firewall Rules Limit - Enter how many outbound rules a user can create per one firewall. Enter -1 for unlimited.
  • Total Limit of Firewall Rules - Enter the total number of rules that a user can create per one firewall. Enter -1 for unlimited.
  • Tags - Here you can apply custom labels for the Droplet. If you want to add multiple tags, separate them with a comma. Read more about tags here.
  • Firewall Prefix - You can provide WHMCS merge field variables such us "{$serviceid}" or "{$username}" to eliminate problems with using non-unique firewall names by clients that need to be globally unique to the DigitalOcean account.
  • IPv6 Addresses - Enables public IPv6 networking for Droplet.
  • Debug Mode - Enables logging of API requests and responses to WHMCS module log which may be useful if you experience any problems with the module.


Important: Before providing any extra features to your WHMCS clients, remember to familiarize yourself with the additional costs that may be applied to your DigitalOcean account.

DOD 15.png
18. Afterward, set up incoming mail configuration.

Due to API limitations, all emails with Droplet credentials can only be sent to your DigitalOcean profile email address set in the panel here.
This applies to messages with credentials sent after Droplet creation as well as messages sent after password reset.
The solution to this problem is email piping that will be used to receive messages sent to your DigitalOcean mailbox and then forwarded through the templates further to your WHMCS clients.

Note: Even though the module filters the received messages in your mailbox, we recommend that you use a separate mailbox for your main DigitalOcean profile account to avoid any issues with non-DigitalOcean content.

After setting up the dedicated mailbox, provide its valid credentials below and test whether the connection has been established correctly.

Note: There is available an option to 'Disable Certificate Validation'. Please toggle this option ONLY if you are having troubles with the connection. The certificate validation will be omitted when connecting to an email box.

Important! Please note that you need to provide a full path to the proper directory in the 'Mailbox Folder' field. Separate different directories with a dot (for example INBOX.FOLDER).

DOD 16.png
Once the connection is successful, remember to save your module settings.
From now on, the cron set during the last stage of the module's installation should periodically check that mailbox for DigitalOcean messages.
If any new emails are received, they will be then converted to your email template and sent to the corresponding client.
The default email templates for product creation and password reset can be specified below. Take a look at the Tips section - tip no 4, and check the template content.
DOD 17.png
19. The following section is dedicated to the Client Area Features.

You will find here six options that can be enabled and then will be available to your clients in their client area. These options are:

  • Rebuild Droplet - if enabled, clients can rebuild their virtual machine in an adequate section.
  • Snapshots - if enabled, clients are granted access to the snapshots section
  • Task History - if enabled, clients are allowed to view the history of the tasks
  • Backups - if enabled, clients are allowed to view the history of the tasks
  • Firewalls - if enabled, clients are allowed to create firewalls and manage inbound and outbound rules
  • Graphs - if enabled, clients are allowed to view numerous graphs with data on virtual machine resource usage
  • Available Images To Rebuild - Select OS images, One-click apps, and Snapshots from available to allow the client to use when rebuilding a droplet.
    Please note, that if you leave this field empty then all available OS images and One-click apps provided by DigitalOcean will be displayed in the client area to rebuild except the snapshots.
    Keep in mind that the available here list of OS Images includes all the snapshots, including the clients' private ones. Be careful when selecting them.
    You can also ignore this option if you want to allow rebuild Droplet with only the initially chosen image.
  • Change Hostname - if enabled, clients may give their hostname a unique name
  • Rebuild Initially Chosen Image Only - if enabled, clients will be able to rebuild the droplet only on the OS that was originally chosen for the purchased product instead of to any images that you can select below.
  • Power On - decide if clients should have access to the 'Power on' section.
  • Power Off - once enabled, clients will have access to the 'Power Off' section.
  • Shut Down - decide if clients should access the 'Shut Down' section.
  • Reboot - once enabled, clients will access the 'Reboot' section.
  • Reset Password - if you enable it, clients will be granted access to the 'Reset Password' section.
DOD 17 1.png
20. At the end of the configuration process, you can decide whether you want to generate configurable options for the product.

Configurable options can be used by your clients to select each Droplet parameter individually during order placement.
Otherwise, if configurable options are not defined, then the fixed parameters specified in the earlier configuration will be used instead.

Note: When upgrading to version 1.8.0, please remember to update the configurable options related to "Floating IPs" as these have been replaced with the "Reserved IPs" option.
Both the name and the variable need to be adjusted.

DOD 18.png
If you decide to use configurable options, press on the 'Create' button and select which options you want to generate.
Note that the configuration for disabled options will still be taken from the configuration of the main product.
More information about how to use configurable options can be found here or in the official WHMCS documentation.
DOD 18 1.png

[edit] SSH Keys

In the 'Custom Fields' tab you will find a 'SSH Public Key' field which is displayed to clients on the order form by default.

This field is optional. It allows your clients to insert their public key in order to be able to log in to Droplet without using a password.
The provided key should be in one of the OpenSSH formats which are supported by DigitalOcean API. This includes the following types:

  • ssh-rsa
  • ssh-dss
  • ecdsa-sha2-nistp256
  • ecdsa-sha2-nistp384
  • ecdsa-sha2-nistp521
  • ssh-ed25519

If you would like to limit the possibility of entering the key e.g. only to the 'ssh-rsa' format, you can use the regular expression in the validation field, such as:

#ssh-rsa AAAA[0-9A-Za-z+/]+[=]{0,3}( [^@]+@[^@]+)?# 

More information about how DigitalOcean handles SSH keys and how to create them can be found here.
If you do not want this field to be available to customers during the ordering process, simply uncheck 'Shown on Order Form' option.
Remember that API allows such action only once, during the initial VM creation.

Important: During tests we discovered that some OS images such as 'CoreOS', 'CentOS' or 'FreeBSD', may require the SSH key to create a Droplet.
In such cases, we recommend that you additionally check the 'Required Field' option for such products.

Please also note that when the SSH key is provided, DigitalOcean may not send the welcome email after Droplet creation.

DOD 28.png

[edit] User Data Scripts

User data is arbitrary data that can be executed during Droplet creation, typically during the first boot of a cloud server.
This allows you to perform tasks or run scripts as the root user which can be extremely useful when provisioning a server.

You can provide your own scripts using 'cloud-config' or 'Bash'. By default, we provide two exemplary scripts for changing the OS password or inserting SSH key, which you can use as a reference.
The script you want to include has to be located in the '/your_whmcs/modules/servers/DigitalOceanDroplets/storage/userDataFiles/' directory and may not exceed 64 KiB in size.

DOD 29.png
Once you create your own script, it can be chosen for product execution.

You can provide multiple scripts for configurable options, but only one can be chosen for Droplet creation.
If you would like to execute several different scripts at once, you should try combining them within a single file.

Remember that the scripts you provide should be compatible with the given distribution.
You can learn more here about how to use cloud-config for the initial server setup. Here you find a list of supported module parameters and their descriptions.

DOD 30.png

[edit] Management

[edit] Admin Area

DigitalOcean Droplets For WHMCS allows you to monitor and manage your customer Droplets from the admin area of your WHMCS system.

This includes supervision of such features like:

  1. Configurable options which enable you to view the chosen Droplets resources.
    Important: Due to API limitations, the only two configurations possible to modify for the already created VM through the 'Change Package' functionality are the 'Size Slug Plan' option for Droplet resizing and 'Floating IPs' for assign/unassign.
    And even these actions may not always be allowed! You can also change the snapshots, backups, firewalls and rules limits, which values are only kept locally on the WHMCS server.
  2. Module commands, service action and additional options enable you to manage Droplet status and features.
  3. Server information provides you with the current status, resources and options set for the Droplet.

Note: If "Random Domain Prefix" is provided in the module settings then the "Hostname" field, if empty, will be automatically filled in by the module after triggering the "Create" command.

DOD 19.png
  1. Network information presents assigned IPv4 and IPv6 addresses to the Droplet along with their gateway, interface type, used netmask or CIDR as well as floating IP, if assigned.
  2. You can easily view and make new snapshots of the Droplet.
  3. The automatic Droplet backups can be restored here as well.
  4. You can also rebuild the Droplet OS to a different distribution.
  5. And finally, display all actions taken on Droplets in the tasks history table.
DOD 20.png

[edit] Ordering

Owing to configurable options, you are able to offer a product which your clients can tailor according to their needs.
Additionally, you are able to set up pricing for each configurable option, which makes your offer even more competitive.

Based on the custom SSH key field configuration, you might also insert your public SSH key, which will allow you to log in to a Droplet without the need to use the password.
Note that this key should be in one of the OpenSSH standard formats which are supported by API, e.g. ssh-rsa.

After the order placement and successful VM creation, the Droplet credentials will be sent to the client's email address according to the set cron execution intervals.

DOD 21.png

[edit] Client Area

Client area interface of DigitalOcean Droplets should look like the one on the screen below.
As you can see, the control panel contains useful options required for managing a Droplet.

The module allows your customers to easily power on/off, shutdown, reboot and reset password of their servers through pressing the corresponding buttons.
Clients can also rebuild the server, create and restore snapshots, create firewalls and manage their rules, access automatic backups and view tasks history with their current status.
Additionally, clients can change the name of the hostname, view the current Droplet parameters, resources and all set options, as well as the assigned IP addresses.

DOD 22.png

[edit] Rebuild Droplet

This feature allows your clients to rebuild their virtual machine and change a server's OS image.

Press the shown below button in order to reinstall your server to the chosen image and confirm your choice.
Please remember that this will also wipe the previously saved data on the VM disk.

DOD 23.png

[edit] Snapshots

Use snapshots to save the current contents of the virtual machine memory.
You may use them later to restore the VM's settings.
DOD 24.png
Press the 'Create New Snapshot' button and enter the unique snapshot name.
Please note that the spaces in the snapshot name will be ignored by the API and saved as a single string name anyway .
DOD 25.png
Creating a snapshot may take a while, so it will not appear on the list right away.
Its progress status can be tracked in Tasks History or by refreshing the snapshot list manually.

[edit] Backups

If the automatic backups have been enabled for the Droplets products, then your client will be able to restore them from this section.
DigitalOcean uses a snapshot-based backup system. This provides system-level backups of a server without powering it down.

Note: This process happens automatically within a pre-determined scheduling window, and is completed in the background while the Droplet is running.
Client cannot force the creation of an additional copy on demand or delete it - this however can be achieved by using snapshots feature.

DOD 26.png


[edit] Firewalls

'Firewalls' section allows to view and create firewalls that will protect your Droplet from external attacks.

Press 'Create Firewall' button to create one.

DOD 26 2.png
Type in a unique name. You cannot provide a 'Firewall Name' that is already used by another Droplet.
DOD 26 3.png
A new firewall will appear on the list, note that it will have an ID assigned and a default inbound rule automatically created.

Press 'Edit' icon to move to the firewall rules management page.

DOD 26 4.png

[edit] Firewall Rules

Every newly created firewall has a default, exemplary rule created. To create your own rules, just click the marked button.
DOD 26 5.png
Finally, setup the rule by selecting:
  • Application - you can select one of the predefined applications on the basis of which the default port will be automatically filled in
  • Rule Type - configure the firewall rules for incoming or outbound traffic
    • Inbound - the specified ports will accept inbound connections only, any other traffic will be blocked
    • Outbound - the outbound traffic will be allowed for the specified ports, any other traffic will be blocked
  • Protocol - Select the type of allowed traffic:
    • TCP
    • UDP
    • ICMP
  • Ports - Provide ports to allow the traffic on, accepted forms:
    • single port (eg. 80)
    • range (eg. 8000-9000)
    • ‘all’ – to open all ports
    • leave empty - for ICMP protocol type
  • IP Address - add IP addresses, use coma to separate. Both IPv4 and IPv6 are supported.
    To add a rule for all addresses at once use:
    • '0.0.0.0/0' for IPv4
    • '::/0' for IPv6
DOD 26 6.png

[edit] Tasks History

Tasks history allows you to view all tasks performed on your VM with the current progress status.
Please note that these actions are also collected from the DigitalOcean API.
DOD 27.png

[edit] Graphs

Once entering the 'Graphs' section, clients will be moved to the page with the generated graphs showing:
  • 'CPU Usage'
  • 'Memory Usage'
  • 'Average Load'
  • 'Disk Usage'
  • 'Bandwidth Usage'
DOD 27 0.png

[edit] Importing Existing Droplet

In this section, you can find short instruction on how to connect one of your clients to your already existing Droplet in DigitalOcean.
Take the following steps to make sure that the process will be carried out properly.

1. Firstly, manually create an order for your customer in WHMCS. Choose a client and in the summary, view click on the ' Add New Order' button. Next, select a 'Product/Service' and press 'Submit Order' .
What is important, do not perform the 'Create' action. The status has to remain as 'Pending' .
More info about placing orders can be found here
2. Proceed to the newly created product's card in your admin area. Find the following empty fields:

  • Server ID
  • Firewalls (needed if there are any 'Firewalls' on your Droplet, if not, provide only 'Server ID' )

The above-mentioned information has to be consistent with the data from your DigitalOcean panel. Now, complete these fields as presented below.
Important! Remember to make sure that the format of the provided data is compatible with the format supported by the module. You can preview it for another product of the module you have already created and enter it in a similar way.
If you completed the required data, now change the status from 'Pending' to 'Active' and 'Save Changes' .

DOD import.png
3. If the completed data is correct, after refreshing the page, you will see the attached Droplet from DigitalOcean.
Important! Remember to manually add other missing parameters of the instance such as domains, credentials, IP Addresses, configurable options, SSH Key, billing cycle, etc. so they match the parameters of the attached Droplet from DigitalOcean.

[edit] Tips

1. You can use the DNS Manager For WHMCS module to manage your Droplet DNS records.

It already has a built-in support for DigitalOcean DNS server.

2. Some of the features like IPv6, private networking or monitoring can only be activated once and cannot be disabled later on.

Use these features wisely as they can increase your Droplets maintenance costs.

3. There is an additional custom field named 'Firewalls'. It should be generated automatically when you upgrade the product.
In case something goes wrong, please add the custom field manually. Take a look at the screen below to check its specification.
DOD 31.png
4. 'DigitalOcean Droplet Create Droplet' email template includes information on:
  • Droplet Name - {$droplet_name}
  • User Name - {$droplet_user}
  • Password - {$droplet_password}
  • Dedicated IP - {$service_dedicated_ip}

Please note that the last merge field has been added into the template in version 1.3.0. In case you started using the module earlier, you may add it manually.
Underneath, you can see how the custom template looks like. You may surely edit it at 'WHMCS' → 'Setup' → 'Email Templates'.
You will find there the second custom eamil template: 'Digital Ocean Password Reset Email' as well.

DOD 32.png
5. There is the possibility to change a name of the particular OS that is visible in the 'Rebuild Droplet' section in both admin and client area.

Firstly, find the language file that is located here your_whmcs/modules/servers/DigitalOceanDroplets/langs
Let's change the name of the following OS from NetFoundry Cloud Gateway 6.1.0 on CentOS 7.7 into NFC G 6.1.0 on CentOS 7.7 :

DOD 33.png
To do so, we need to add this line to the lang file:
Remember that you can only modify the second part of the line after the = sign.
 $_LANG['NetFoundry Cloud Gateway 6.1.0 on CentOS 7.7'] = "NFC G 6.1.0 on CentOS 7.7"; 
As a result, the name is changed.
DOD 34.png
6. List of supported operating systems and applications. Note that the below lists are current as of February 2022 and could be updated since then:
Operating System Name
CentOS 7 x64 FreeBSD 12.2 zfs x64
CentOS 8 Stream x64 RancherOS 1.5.8 x64
Debian 11 x64 Rocky Linux RockyLinux 8.4 x64
Debian 9 x64 Rocky Linux RockyLinux 8.5 x64
Fedora 34 x64 Ubuntu 18.04 (LTS) x64
Fedora 35 x64 Ubuntu 20.04 (LTS) x64
Application Name
Acra 0.85.0 on Ubuntu 18.04 Hasura GraphQL on Ubuntu 18.04 PhpMyAdmin 5.0.3 on Ubuntu 20.04
Airbyte 0.30.25 on Ubuntu 20.04 Hector dev test 2 0.0.1 on Ubuntu 20.10 PhpMyAdmin on Ubuntu 18.04
Akaunting on Ubuntu 18.04 hector inmutable slugs 2 yeeeeeet 1.0.0 on Ubuntu 20.01 Plesk (CentOS) 18.0 on CentOS 7.7
Akaunting on Ubuntu 20.04 hector-test-image-slug Plesk (CentOS) 18.0 on CentOS 7.9
Ant Media Server Community Edition 2.1.0 on Ubuntu 18.04 Helpy 2.4 on Ubuntu 18.04 Plesk 17.8 on CentOS 7
Ant Media Server Community Edition 2.4.1 on Ubuntu 18.04 Helpy Pro 3.2.7.1 on Ubuntu 18.04 Plesk 18.0 on Ubuntu 20.04
Ant Media Server Enterprise Edition 2.2.1 on Ubuntu 18.04 HoneyDB Agent on Debian 9 Plesk 18.0 on Ubuntu 20.04
Ant Media Server Enterprise Edition 2.4.1 on Ubuntu 18.04 Hubs Cloud Personal 1.1.0 on Ubuntu 18.04 Plone In A Box™ 5.2.2 on Ubuntu 20.04 (LTS)
ApisCP 3.2 on CentOS 8.2 HumHub 1.10.2 on Debian 10 Prometheus 2.9.2 on Ubuntu 18.04
ApisCP 3.2 on CentOS 8.2 Hyperledger Fabric Cloud Lab 1.4.2 on Ubuntu 18.04 Purdm 0.3a on Ubuntu 18.04
Appsmith 1.5 on Ubuntu 20.04 Influx TICK on Ubuntu 18.04 PyboxTech-Med 1.75 on Ubuntu 20.04
Appwrite 0.12.0 on Ubuntu 20.04 Invoice Ninja 1.0.0 on Ubuntu 18.0.4 Python/Django Quickstart 1.1 on Ubuntu 18.04
Appwrite 0.7.0 on Ubuntu 18.04 Invoice Ninja 5 on Ubuntu 20.0.4 QCObjects 2.1.157 on Ubuntu 18.04
authentik 2022.1.3 on Ubuntu 20.04 IOTA Hornet Node on Ubuntu 20.04 QloApps 1.5.0 on Ubuntu 18.04
AutoPanel - Wordpress Automation 1 on Ubuntu 20.04.2 LTS ISPmanager 6.8.2 on CentOS 7.x QuestDB 6.1.2 on Ubuntu 20.04
AzuraCast 0.11.2 on Ubuntu 20.04 ISPmanager Lite 5.246.0 on CentOS 7.x Reblaze WAF 2.12.10 on Ubuntu 18.04
AzuraCast 0.12 on Ubuntu 20.04 Izenda 3.3.1 on Ubuntu 18.04 Redash 8.0.0 on Ubuntu 18.04
Bagisto on Ubuntu 18.04 Jelastic PaaS 6.0-5 on Centos 7 Repman 0.4.1 on Ubuntu 18.04 (LTS)
bcoin on Ubuntu 18.04 JetBackup 5 on CentOS 7.9 Restyaboard (CentOS) 0.6.8 on CentOS 7.6
BigBlueButton Server 2.2 on Ubuntu 16.04 Jitsi Server 2.0.6726 on Ubuntu 20.04 Restyaboard (CentOS) 0.6.9 on CentOS 7.6
Bitwarden 1.32.0 on Ubuntu 18.04 Jitsi Server 2.1-273 on Ubuntu 18.04 Restyaboard (CentOS) 1.7 on CentOS 7
Botpress 12.9.1 on Ubuntu 18.04 Kasm Workspaces 1.10.0 on Ubuntu 18.04 Restyaboard 0.6.8 on Ubuntu 16.04
Buddy on Ubuntu 18.04 Kepler Builder 1.0.10 on Ubuntu 18.04 Restyaboard 0.6.9 on Ubuntu 18.04
Budibase 1.0.0 on Ubuntu 20.04 Krill 0.6.0 on Ubuntu 18.04 Restyaboard 1.7 on Ubuntu 20.04
Bugfender 2020.2.0 on Ubuntu 18.04 Kubernetes 1.19 1.19.7-001 on Ubuntu 20.04 RethinkDB (Fantasia) 2.3.7 on Ubuntu 18.04
Bugfender 2021.1.0 on Ubuntu 20.04 LAMP on Ubuntu 18.04 RethinkDB 2.4.1 on Ubuntu 18.04
Caddy 2.2.1 on Ubuntu 18.04 LAMP on Ubuntu 20.04 Rocket.Chat 2.4.9 on Ubuntu 18.04
CapRover 1.10.1 on Ubuntu 18.04 Laravel 7.20.0 on Ubuntu 20.04 Rocket.Chat 4.1.2 on Ubuntu 20.04
CAST AI Kubernetes 1.18 1.18.6-7 on Ubuntu 20.04 LEMP 42 on Ubuntu 20.04 Roxy-WI 4.5.1 on CentOS 7
Chamilo 1.11.10 on Ubuntu 18.04 LEMP on Ubuntu 18.04 RStudio + H2O 1.2 on Ubuntu 18.04
Chevereto 1.3.0 on Ubuntu 20.04 Linux Alf.io 2.0-M3-2112-2 on Rocky Linux 8.5 RStudio + PkgDev 1.2 on Ubuntu 18.04
Chevereto-Free 1.6.2 on Ubuntu 20.04 Linux ApisCP 3.2 on Rocky Linux 8.5 RStudio + Stan 1.2 on Ubuntu 18.04
CloudBees Jenkins on Ubuntu 18.04 Live Helper Chat 3.84 on Centos 7.8.2003 RStudio 1.2 on Ubuntu 18.04
CloudPanel 1 1.0.4 on Debian 10.7 Magento 2 Open Source 1.3.1 on Ubuntu 20.04 (LTS) RStudio 1.4 on Ubuntu 20.04
CloudPanel 1 1.0.5 on Debian 10.8 Magento 2 Open Source 1.5.1 on Ubuntu 20.04 (LTS) Ruby on Rails 6.0.3.4 on Ubuntu 20.04
CloudPanel 1 1.0.7 on Debian 10.11 Mailcoach 3.0 on Ubuntu 18.04 Ruby on Rails on Ubuntu 18.04
Cloudron 6.0.1 on Ubuntu 20.04 Mailcoach 4.0 on Ubuntu 20.04 RunCloud-18.04 on Ubuntu 18.04
Cloudron 7.0.4 on Ubuntu 20.04 Mastodon 3.1.3 on Ubuntu 18.04 RunCloud-20.04 on Ubuntu 20.04
ClusterControl 1.9.2 on Ubuntu 20.04 Matrix (Synapse backend) 0.1.3 on Debian 10 (buster) Saltcorn 0.6.0 on Ubuntu 20.04
code-server 3.0.2 on Ubuntu 18.04 Mattermost 5.16.3 on Ubuntu 18.04 Sandfly Security 3.2.0 on Ubuntu 20.04
Coin Collector by PowerTrader.net 1.2 on Ubuntu 20.04 MeiliSearch 0.25.2 on Debian 10 (buster) SearchBlox Enterprise Search 9.2.1 on CentOS 7.6
Computing for COVID 3 on Ubuntu 18.04.4 LTS Meltano 1.15.0 on Ubuntu 18.04 Selenoid 1.10.0 on Ubuntu 18.04
Countly Analytics 20.04.1 on Ubuntu 18.04 Meltano 1.31.0 on Ubuntu 18.04 ServerWand 1.0 on Ubuntu 18.04
cPanel & WHM® 84.0.14 on CentOS 7.6 Memgraph on Debian 9.7 ShinyProxy 2.4.0 on Ubuntu 20.04
cPanel & WHM® 92.0.11 on CentOS 7.6 Metabase 0.41.6 on Ubuntu 18.04 ShinyProxy 2.6.0.1 on Ubuntu 20.04
cPanel & WHM® RELEASE on CentOS 7.9 Microweber 1.2.0 on Ubuntu 20.04 Shopware on Ubuntu 18.04
CSMM 1.20.2 on Ubuntu 20.04 Microweber 1.2.10 on Ubuntu 20.04 SimpleX server 0.4.1 on Ubuntu 20.04
CUBITE lilac on Ubuntu 20.04 Minecraft: Bedrock Edition 1.0 on Ubuntu 20.04 (LTS) Skaffolder 3.0 on Ubuntu 18.04
Curiosity 0.12549 on Ubuntu 16.04 Minecraft: Java Edition Server 1.0 on Ubuntu 18.04 Snapt Aria 2.0.0 on Ubuntu 18.04
CyberPanel 2.0.3 on Ubuntu 20.04 Mist 4.6.2 on Ubuntu 20.04 Snapt Nova ADC (Load Balancer, WAF) 1.0.0 on Ubuntu 18.04
CyberPanel 2.1.1 on Ubuntu 20.04 MongoDB 4.0.3 on Ubuntu 18.04 Solder.io 0.7.6 on Ubuntu 18.04.5
CyberPanel Joomla 3.0.10 on Ubuntu 20.04 MongoDB 4.4.1 on Ubuntu 20.04 SolidInvoice 2.0.3 on Ubuntu 18.04
CyberScore 5.0.1 on Ubuntu 18.04.3 moodle 3.10 on Debian 10 Speckle Server 2 on Ubuntu 20.04
DeadLetter Facial Recognition on Ubuntu 18.04 MySQL 8.0.21 on Ubuntu 20.04 Spotipo 3.4.13 on Ubuntu 18.04
Decentralized Internet 5.3.5 on Ubuntu 18.04 MySQL on Ubuntu 18.04 Strapi 3.1.0 on Ubuntu 18.04
Directus 9 on Ubuntu 18.04 Nakama 2.7.0 on Ubuntu 18.04 Supabase Postgres 0.15.0 on Ubuntu 18.04
Discourse 2.5.0.beta3 on Ubuntu 18.04 NetBox 2.10.4 on Ubuntu 20.04 Supabase Realtime 0.7.5 on Ubuntu 18.04
Discourse on Ubuntu 20.04 NetFoundry Zero Trust Networking 7.3.0 on CentOS 7.8 Teleport 8.0.1 on Ubuntu 20.04
Django 2.2.12 on Ubuntu 20.04 NethServer 7.9.2009 on CentOS 7.x ThePlanMinder PostgreSQL 1.03 on Ubuntu 20.04
Django 3.2 LTS 3.2.4 on Ubuntu 20.04 Netmaker 0.9.1 on Ubuntu 20.04 ThingsBoard CE on Ubuntu 18.04
Docker 19.03.12 on Ubuntu 18.04 Nimbella Lite on Ubuntu 18.04 ThingsBoard PE on Ubuntu 18.04
Docker 19.03.12 on Ubuntu 20.04 Ninjam on Debian 10.0 x64 titra 0.9.8 on Ubuntu 18.04
Dokku 0.17.9 on Ubuntu 18.04 NirvaShare 1.5.7 on Ubuntu 20.04 (LTS) Traccar 4.10 on Ubuntu 20.04
Dokku 0.21.4 on Ubuntu 20.04 NKN Commercial 2.0 on Ubuntu 18.04 TRASA 1.1.2 on Ubuntu 20.04
Dokos 2.0.0 on Ubuntu 18.04 node-army 3.0 on Ubuntu 20.04 twigs 1.0.1 on Ubuntu 20.04 LTS
Doppler 1.0 on Ubuntu 20.04 (LTS) node-army-3.0 3.0 on Ubuntu 20.04 (LTS) UH VPN 1.2.0 on Ubuntu 20.04
DSuhinin-App-1 1.0 on Ubuntu 18.04 Node.js Quickstart 1.0 on Ubuntu 18.04 UTunnel VPN 1.0.0 on Ubuntu 20.04
EmailEngine 2.11.1 on Ubuntu 20.04 NodeGame 7.1.0 on Ubuntu 18.04 UXLens 0.7 on Ubuntu 18.04
ERPNext 12.5.0 on Ubuntu 18.04 NodeJS 12.18.1 on Ubuntu 20.04 uzERP 1.26.6 on Ubuntu 18.04
Erxes 0.17.6 on Ubuntu 18.04 Onion Routed Cloud 14 on Ubuntu 18.04 Varbase 8.7.11 on Ubuntu 18.04
Everlife.AI 2.2.0 on Ubuntu 20.04 Onjection Jenkins 2.164.3 on Ubuntu 16.04 Varnish Cache 6.0.10 on Ubuntu 18.04
FastNetMon 2.0 on Ubuntu 18.04 ONLYOFFICE Docs 7.0.0 on Ubuntu 20.04 LTS VictoriaMetrics Single 1.71.0 on Ubuntu 20.04
FASTPANEL 1.9+deb10p151 on Debian 10 ONLYOFFICE Workspace 22.01.654 on Ubuntu 20.04 LTS VitalPBX 3.0.4-1 on Centos 7.8
Fathom on Ubuntu 18.04 Open Source Social Network 6.1.0 on Ubuntu 18.04 vitalpointz IoT Core Lite 1.2.0 on CentOS 7.6
FileCloud 21.2.3 on Ubuntu 20.04 Open Unlight 1.0.0.pre1 on Ubuntu 18.04 Vodia Multi-tenant Cloud PBX 66 on Debian 10 x64
filecoin-lotus 1.11.0 on Ubuntu 20.04 (LTS) OpenBoxes 0.8.14 on Ubuntu 20.04 WarpSpeed VPN 1.1.5 on Ubuntu 18.04
filecoin-lotus 1.13.0 on Ubuntu 20.04 (LTS) OpenCart 3.0.3 on Ubuntu 18.04 Web-WordPress 5.7 on Ubuntu 20.04
Flashphoner Web Call Server 5.2.780 on CentOS 7.6 OpenCPU 2.2.4 on Ubuntu 20.04 WebDNA Server 8.6.4 8.6.4 on Ubuntu 18.04
Flexify.IO Multi-cloud / Migration 2.12.0 on Ubuntu 20.04 LTS OpenFaaS on Ubuntu 18.04 WebMaker Server 10.6 on Ubuntu 20.04
Flexify.IO Multi-cloud / Migration 2.12.8 on Ubuntu 20.04 LTS OpenLiteSpeed ClassicPress 1.2.0 on Ubuntu 20.04 WeconexPBX 2.4-1 on CentOS 7.6
Flipstarter 1.1.2 on Ubuntu 18.04 OpenLiteSpeed Django 2.2.3 on Ubuntu 18.04 Wiki.js 2.4.107 on Ubuntu 18.04
flussonic 21.08.1 on Ubuntu 20.04 OpenLiteSpeed Django 3.1.1 on Ubuntu 20.04 Wireguardian VPN Access Server 2110.0 on Ubuntu 20.04
Folding@home 0.0.1 on Ubuntu 18.04 OpenLiteSpeed Django 3.2.11 on Ubuntu 20.04 WireSpeed VPN 1.1.2 on Ubuntu 18.04
Free Cost Management 1-1-326707216-master on Ubuntu 20.04 OpenLiteSpeed Joomla 4.0.5 on Ubuntu 20.04 WireSpeed VPN 1.1.3 on Ubuntu 18.04
FreePBX® 15 on CentOS 7.6 OpenLiteSpeed NodeJS 10.15.3 on Ubuntu 18.04 WireSpeed VPN 1.1.5 on Ubuntu 18.04
FreePBX® 16 on CentOS 7.8 OpenLiteSpeed NodeJS 12.16.3 on Ubuntu 20.04 WordPress 5.5.1 on Ubuntu 18.04
Ghost on Ubuntu 18.04 OpenLiteSpeed NodeJS 12.20.2 on Ubuntu 20.04 WordPress 5.8 on Ubuntu 20.04
Ghost on Ubuntu 20.04 OpenLiteSpeed Rails 6.1.4.1 on Ubuntu 20.04 Workarea 3.5.x on Ubuntu 18.04
Gigantum Client 1.5.2 on Ubuntu 20.04 OpenLiteSpeed WordPress 5.3 on Ubuntu 18.04 WorkflowServer 2.5 on Ubuntu 18.04
Gitea 1.13.1 on Ubuntu 20.04 OpenLiteSpeed WordPress 5.6 on Ubuntu 20.04 X-Cart 5.4.1.4 on CentOS 7.6
Gitea 1.14.2 on Ubuntu 20.04 OpenLiteSpeed WordPress 5.9 on Ubuntu 20.04 Yacht 0.0.5-alpha on Ubuntu 20.04
GitLab Enterprise Edition on Ubuntu 20.04 OpenVPN + Pihole 1.1.1 on Ubuntu 18.04 Zabbix proxy 5.0.6 on CentOS 8
GitLab Enterprise Edition on Ubuntu 20.04 OpenVPN Access Server 2.8.5 on Ubuntu 18.04 Zabbix server 5.0.6 on CentOS 7
Gluu Server CE 4.2.1 on Ubuntu 20.04 (LTS) Owncast on Debian 10 Zeromon Zabbix 4 on Ubuntu 18.04
Grafana 7.2.0 on Ubuntu 18.04 PacVim on Ubuntu 18.04 ZesleCP 3.1.6 on CentOS 7.x
GrandNode 2.0 1.1.0 on Ubuntu 18.04 Passbolt CE 2.13.5 on Ubuntu 18.04 Znuny 6.2.2 on Debian 10 (buster)
GrandNode 4.90.0 on Ubuntu 18.04 Passbolt CE 3.3.0-1 on Ubuntu 20.04 Znuny LTS 6.0.39 on Debian 10 (buster)
gutiumtestapp_new_test 2 on Ubuntu 20.04 Percona Monitoring and Management 2 2.21.0 on CentOS 7 ZoomAdmin 2.0.1 on Ubuntu 18.04.03
gutiumtestapp333 1 on Ubuntu 20.04 Perforce Helix Core 2021.2.2220431 on CentOS 7.9 Zulip 4.8 on Ubuntu 20.04
HarperDB 2.3.0 on Ubuntu 18.04 PhotoPrism on Ubuntu 20.04

[edit] Update Instructions

An essential guidance through the process of updating the module is offered here.
  • If you are upgrading a module from the version prior to 1.4.0 to a newer one, we also suggest updating the frequency of execution 'cron.php Tasks' as suggested in step 7 of the installation guide.
  • After upgrading to version 1.8.0, please remember to update the configurable options related to "Floating IPs" as these have been replaced with the "Reserved IPs" option. Both the name and the variable need to be adjusted.

[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 DigitalOcean Droplets For WHMCS module to unlock these benefits.
Simply click on either the Get Source Code or Upgrade To Lifetime button found on the product's page in our client area to complete the one-step upgrade process, with a dedicated discount already applied.

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] Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. Certain OS distributions may cause the 'Action did not complete' error in task when trying to reset Droplet's password, even if the success notification is initially returned.

This may be caused by the requirement to use the SSH key by given distribution instead of a password.

3. Inserting the SSH key may prevent the welcome email being sent by DigitalOcean after Droplet creation.
4. Some features like monitoring might not be supported by all configurations.

Please try choosing for example a different region or distribution.

Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
DigitalOcean Droplets For WHMCS