PUQ Mautic

Installation and configuration guide

Basic concepts and requirements

Docker InfluxDB module WHMCS 

 Order now | Download | FAQ | n8n

Before you start, it is important to read and familiarize yourself with the following articles at this link:
https://doc.puq.info/books/docker-modules

The WHMCS Docker InfluxDB module is part of the WHMCS Docker module series developed by PUQcloud. This module enables service providers to offer InfluxDB Docker containers as a service to their clients, allowing for seamless automation and integration.

The system consists of three core components:

🖥️ WHMCS Module

The core component, installed in WHMCS, manages service provisioning and automation from the WHMCS side.

📡 Debian 12 Server

A server running Debian 12 with the following pre-installed:
Docker – For container management

We have prepared instructions for installing and configuring Docker
https://doc.puq.info/books/docker-modules/page/installing-docker-for-puqcloud-modules

🔗 n8n Server

This server facilitates communication between the WHMCS module and the Docker server, ensuring smooth workflow execution.
To explore n8n’s full potential, visit the official n8n website for documentation, tutorials, and community support.


Key Features & Concepts

⚙️ Workflow Automation

n8n provides a graphical workflow builder, allowing users to automate various tasks, such as:
✔️ Sending notifications
✔️ Configuring firewalls on external routers
✔️ Managing DNS settings
✔️ Custom automation processes tailored to specific needs

🔄 Flexibility & Customization

The module offers personalized settings and supports elastic automation, giving clients full control over their n8n workflows.

 

WHMCS setup (install/update)

Docker InfluxDB module WHMCS 

 Order now | Download | FAQ | n8n

Module is coded ionCube v13

Supported php version:

To install and update a module, you must perform one and the same action.


1. Download the latest version of the module.

PHP 8.2

wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Docker-InfluxDB/php82/PUQ_WHMCS-Docker-InfluxDB-latest.zip

PHP 8.1

wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Docker-InfluxDB/php81/PUQ_WHMCS-Docker-InfluxDB-latest.zip

PHP 7.4

wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Docker-InfluxDB/php74/PUQ_WHMCS-Docker-InfluxDB-latest.zip

All versions are available via link: https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Docker-InfluxDB/

2. Unzip the archive with the module.
unzip PUQ_WHMCS-Docker-InfluxDB-latest.zip
3. Copy and Replace "puqDockerInfluxDB" from "PUQ_WHMCS-Docker-InfluxDB" to "WHMCS_WEB_DIR/modules/servers/"

Preparing Docker Server

Docker InfluxDB module WHMCS 

 Order now | Download | FAQ | n8n

To install the Docker server for this module, please follow the instructions at the following link:


https://doc.puq.info/books/docker-modules/page/installing-docker-for-puqcloud-modules

Setting up n8n workflow

Docker InfluxDB module WHMCS 

 Order now | Download | FAQ | n8n

Overview

The Docker InfluxDB WHMCS module uses a specially designed workflow for n8n to automate deployment processes. The workflow provides an API interface for the module, receives specific commands, and connects via SSH to a server with Docker installed to perform predefined actions.

Prerequisites

Installation Steps

Install the Required Workflow on n8n

You have two options:

Option 1: Use the Latest Version from the n8n Marketplace

Option 2: Manual Installation

n8n Workflow API Backend Setup for WHMCS/WISECP

Configure API Webhook and SSH Access

Modify Template Parameters

In the Parameters block of the template, update the following settings:

image-1742770561386.png

 

image-1741285412110.png

Do not modify the following technical parameters:

Deploy-docker-compose

In the Deploy-docker-compose element, you have the ability to modify the Docker Compose configuration, which will be generated in the following scenarios:

image-1741875704524.png

image-1742770618391.png

nginx

In the nginx element, you can modify the configuration parameters of the web interface proxy server.

image-1741875960357.png

image-1742770642036.png

Bash Scripts

Management of Docker containers and all related procedures on the server is carried out by executing Bash scripts generated in n8n. These scripts return either a JSON response or a string.

image-1741876353319.png

 

 

Add server

Docker InfluxDB module WHMCS 

 Order now | Download | FAQ | n8n
Add a new server to the system WHMCS.
System Settings->Servers->Add New Server

image-1741287291552.png

Attention: Important Information

The hostname field represents the actual domain of the server running Docker and must match the server_domain parameter in the n8n workflow. If they do not match, communication will not function correctly.
Additionally, this domain must be configured so that all its subdomains resolve to the IP address of the server running Docker.

image-1741287929855.png

In the Server Details section, select the "PUQ Docker InfluxDB" module and enter the correct username and password for the API endpoint in the n8n workflow.

Additionally, in the Access Hash field, insert the URL of the API entry point for the n8n workflow.

image-1742770877457.png

image-1742770908428.png

 

 

Product Configuration

Docker InfluxDB module WHMCS 

 Order now | Download | FAQ | n8n
Add new product to WHMCS
System Settings->Products/Services->Create a New Product

In the Module settings section, select the "PUQ Docker InfluxDB" module

image-1742771544937.png

Metric Billing

Docker InfluxDB module WHMCS 

 Order now | Download | FAQ | n8n

To bill certain metrics separately, you can use the standard WHMCS Metric Billing mechanism.

To configure it, you need to enable the required metrics and set the desired prices. Metrics work based on the standard WHMCS mechanism, the description of which can be found here:

https://docs.whmcs.com/products/configuration-options/usage-billing/

image-1741888208248.png

image-1741888239156.png

Email Template (puqDockerInfluxDB Welcome Email)

Docker InfluxDB module WHMCS 

 Order now | Download | FAQ | n8n
Create an email template for customer notifications.
System Settings->Email Templates->Create New Email Template

image-1742771101712.png

Subject: 

InfluxDB Order Information

Body:

Dear {$client_name},

Your order has been accepted for implementation.

Product/Service: {$service_product_name}
Payment Method: {$service_payment_method}
Amount: {$service_recurring_amount}
Billing Cycle: {$service_billing_cycle}
Next Due Date: {$service_next_due_date}


The installation and setup of your InfluxDB instance is in progress.
Within the next 4-5 minutes, you will be able to use your InfluxDB instance.

Upon your first login, you will need to create an account.

Here is the link to your InfluxDB server.

https://{$service_domain}/

Thank you for choosing us.

{$signature}

image-1742771176072.png

 

 

Email Template (puqDockerInfluxDB Update Email)

Docker InfluxDB module WHMCS 

 Order now | Download | FAQ | n8n
Create an email template for customer notifications.
System Settings->Email Templates->Create New Email Template

image-1742771309734.png

Subject: 

InfluxDB Update Information

Body:

Dear {$client_name},

Your instance is currently being updated.
You will be able to use your InfluxDB server again within 3 minutes.

Here is the link to your InfluxDB server.

https://{$service_domain}/
Thank you for choosing us.

{$signature}

image-1742771350291.png

 

 

 

 

 

Email Template (puqDockerInfluxDB Notification disk limit)

Docker InfluxDB module WHMCS 

 Order now | Download | FAQ | n8n
Create an email template for customer notifications.
System Settings->Email Templates->Create New Email Template

image-1742771428968.png

Subject: 

Disk space usage {$disk_used_percentage}%

Body:

Dear {$client_name},

We want to inform you that your InfluxDB service is running low on disk space. 
Please take action to prevent service interruptions.

Service Details:

Product/Service: {$service_product_name}
Domain: {$service_domain}
Total Disk Space: {$disk_total}
Used Disk Space: {$disk_used} ({$disk_used_percentage}%)
Consider freeing up space or upgrading your plan if needed.

{$signature}

image-1742771475552.png