Docker MinIO WHMCS module
WHMCS module for Docker MinIO that automates the provisioning and management of MinIO instances on a Docker server. The module supports automatic container creation, suspension, termination, password management, IP access control, resource monitoring, metric billing, and email notifications for disk space limits.
- Description
- Changelog
- Installation and Configuration Guide
- Basic concepts and requirements
- WHMCS setup (install/update)
- Preparing Docker Server
- Setting up n8n workflow
- Add server
- Product Configuration
- Metric Billing
- Email Template (puqDockerMinIO Welcome Email)
- Email Template (puqDockerMinIO Update Email)
- Email Template (puqDockerMinIO Notification disk limit)
- Client Area
- Admin Area
Description
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
Docker MinIO WHMCS module
The WHMCS Docker MinIO module is designed for automated provisioning and management of MinIO instances on a Docker server. It seamlessly integrates with WHMCS, allowing businesses to sell and manage MinIO services efficiently.
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
Key Features
Automated Container Management
- Automatic creation of a MinIO container upon service order
- Automated package upgrades and administrator password reset
Service Control & Security
- Service creation
- Service suspension and reactivation
- Service termination
- Full reinstallation
- IP access control
Advanced Diagnostic Tools
- Built-in tools for diagnosing and managing containers
- Container logs viewer
- Real-time resource monitoring (CPU, Memory, Disk)
Multilingual Support
- Supports multiple languages, including Arabic, Azerbaijani, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Farsi, French, German, Hebrew, Hungarian, Italian, Macedonian, Norwegian, Polish, Romanian, Russian, Spanish, Swedish, Turkish, and Ukrainian
Fully Customizable Workflows
- Uses n8n workflows to automate processes, allowing full customization for business-specific needs
Admin Panel Options
- Create, Suspend, Unsuspend, Terminate, Change Package
- Container Start / Container Stop
- Mount Disk / Unmount Disk
- API connection status
- Container status and resource monitoring
- Container logs
- Application information
Client Panel Options
- Web Console and REST API access links
- Username and password with copy buttons
- Change administrator password
- Container status with CPU, Memory, Disk usage
- Application version and user information
- IP Access Control (Restrict by IP)
- Reinstall service
- Metric statistics (Traffic IN/OUT)
System requirements
| Requirement | Minimum |
|---|---|
| WHMCS | 8.11.0 or higher |
| PHP | 7.4, 8.1, or 8.2 |
| ionCube Loader | v13 or newer (v14, v15) |
| Docker server | Debian 12 with Docker installed |
| n8n server | For workflow automation |
Links
- Product page: https://puqcloud.com/whmcs-module-docker-minio.php
- Documentation: https://doc.puq.info/books/docker-minio-whmcs-module
- Support: https://puqcloud.com/submitticket.php
- Community: https://community.puqcloud.com/
Screenshots
Client area — Home screen
Admin area — Product information
Changelog
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
v2.0 (02-03-2026)
- Support for WHMCS 9+
- Product module settings have been redesigned
- Updated client area interface design
- Improved license management and admin notifications
- Enhanced product configuration experience
Note: Product reconfiguration is required after update.
v1.0 (17-03-2025)
- First release
Installation and Configuration Guide
Step-by-step instructions for installing, configuring, and setting up the Docker MinIO WHMCS module, including Docker server preparation, n8n workflow setup, WHMCS integration, email templates, and product configuration.
Basic concepts and requirements
Docker MinIO 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 MinIO module is part of the WHMCS Docker module series developed by PUQcloud. This module enables service providers to offer MinIO 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 MinIO module WHMCS
Order now | Download | FAQ | n8n
System requirements
The module uses ionCube encoding. Your server must meet the following requirements:
| Requirement | Minimum |
|---|---|
| PHP | 8.2 |
| WHMCS | 9+ or higher |
| ionCube Loader | v13 or newer (v14, v15) |
Note: Module is coded with ionCube v13
To install and update a module, you must perform one and the same action.
Step 1 — Download the latest version of the module
PHP 8.2
wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Docker-MinIO/php82/PUQ_WHMCS-Docker-MinIO-latest.zip
All versions are available via link: https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Docker-MinIO/
Step 2 — Unzip the archive with the module
unzip PUQ_WHMCS-Docker-MinIO-latest.zip
Step 3 — Copy and Replace
Copy the puqDockerMinIO directory from the extracted PUQ_WHMCS-Docker-MinIO archive to your WHMCS installation:
WHMCS_WEB_DIR/modules/servers/
Note: To install and update a module, you must perform one and the same action — download and copy the latest version over the existing files.
Preparing Docker Server
Docker MinIO 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 MinIO module WHMCS
Order now | Download | FAQ | n8n
Overview
The Docker MinIO 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
- You must have your own n8n server.
- Alternatively, you can use the official n8n cloud installations available at: n8n Official Site
Installation Steps
Install the Required Workflow on n8n
You have two options:
Option 1: Use the Latest Version from the n8n Marketplace
- The latest workflow templates for our modules are available on the official n8n marketplace.
- Visit our profile to access all available templates: PUQcloud on n8n
Option 2: Manual Installation
- Each module version comes with a workflow template file.
- You need to manually import this template into your n8n server.
n8n Workflow API Backend Setup for WHMCS
Configure API Webhook and SSH Access
- Create a Basic Auth Credential for the Webhook API Block in n8n.
- Create an SSH Credential for accessing a server with Docker installed.
Modify Template Parameters
In the Parameters block of the template, update the following settings:
-
server_domain— Must match the domain of the WHMCS Docker server. -
clients_dir— Directory where user data related to Docker and disks will be stored. -
mount_dir— Default mount point for the container disk (recommended not to change).
Do not modify the following technical parameters:
-
screen_left -
screen_right
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:
- When the service is created
- When the service is unlocked
- When the service is updated
nginx
In the nginx element, you can modify the configuration parameters of the web interface proxy server.
- The main section allows you to add custom parameters to the server block in the proxy server configuration file.
- The main_location section contains settings that will be added to the location / block of the proxy server configuration. Here, you can define custom headers and other parameters specific to the root location.
- The console section allows you to add custom parameters to the server block in the WEB console proxy server configuration file.
- The console_location section contains settings that will be added to the location / block of the WEB console proxy server configuration. Here, you can define custom headers and other parameters specific to the root location of WEB console.
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.
- All scripts are located in elements directly connected to the SSH element.
- You have full control over any script and can modify or execute it as needed.
Add server
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
Add a new server to the system WHMCS
- Enter the correct Name and Hostname
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.
Module settings
In the Server Details section, select the "PUQ Docker MinIO" 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.
Product Configuration
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
Add new product to WHMCS
In the Module Settings section, select the "PUQ Docker MinIO" module.
Configuration parameters
| Parameter | Description |
|---|---|
| License key | A pre-purchased license key for the PUQ Docker MinIO module. For the module to work correctly, the key must be active |
| Disk space (GB) | Allocated disk space for the Docker container in GB |
| CPU | CPU cores allocated for the Docker container (e.g., 0.1, 1, 2) |
| RAM (GB) | RAM allocated to the Docker container in GB (e.g., 0.1, 1, 2) |
| Main domain | The primary domain for the web interface of the application. If not set, the main domain will be taken from the hostname parameter in the server settings |
| Subdomain | A personal subdomain assigned to each service. If left empty or if the subdomain is already taken, it will be automatically generated |
| Link to instruction | URL to a guide that will be displayed in the client panel if provided |
| Notification at % | The percentage threshold for disk space usage that triggers a notification to the client. Set 0 to disable |
| Notification email template | The email template for the notification that will be sent when the threshold is reached |
Supported Macros for Subdomain
| Macro | Description |
|---|---|
{user_id} |
Client ID |
{service_id} |
Service ID |
{random_digit_x} |
Random number (x defines the length) |
{random_letter_x} |
Random letter (x defines the length) |
{unixtime} |
Unix timestamp |
{year} |
Year |
{month} |
Month |
{day} |
Day |
{hour} |
Hour |
{minute} |
Minute |
{second} |
Second |
Default subdomain template: {user_id}-{service_id}-{second}
Metric Billing
Docker MinIO 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/
The module provides the following metrics:
| Metric | Description |
|---|---|
| Traffic IN (GB) | Incoming network traffic in gigabytes |
| Traffic OUT (GB) | Outgoing network traffic in gigabytes |
Email Template (puqDockerMinIO Welcome Email)
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
Create an email template for customer notifications.
Template configuration
| Parameter | Value |
|---|---|
| Email Type | Product/service |
| Unique Name | puqDockerMinIO Welcome Email |
Email Subject
MinIO Order Information
Email 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 MinIO instance is in progress.
Within the next 4 minutes, you will be able to use your MinIO instance.
Upon your first login, you will need to create an account.
Here is the link to your MinIO server.
https://console.{$service_domain}/
Thank you for choosing us.
{$signature}
Available template variables
| Variable | Description |
|---|---|
{$client_name} |
Client full name |
{$service_product_name} |
Product/service name |
{$service_payment_method} |
Payment method |
{$service_recurring_amount} |
Recurring amount |
{$service_billing_cycle} |
Billing cycle |
{$service_next_due_date} |
Next due date |
{$service_domain} |
Service domain |
Note: Standard WHMCS merge fields are also available in this template.
Email Template (puqDockerMinIO Update Email)
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
Create an email template for customer notifications.
Template configuration
| Parameter | Value |
|---|---|
| Email Type | Product/service |
| Unique Name | puqDockerMinIO Update Email |
Email Subject
MinIO Update Information
Email Body
Dear {$client_name},
Your instance is currently being updated.
You will be able to use your MinIO server again within 3 minutes.
Here is the link to your MinIO server.
https://console.{$service_domain}/
Thank you for choosing us.
{$signature}
Available template variables
| Variable | Description |
|---|---|
{$client_name} |
Client full name |
{$service_domain} |
Service domain |
Note: Standard WHMCS merge fields are also available in this template.
Email Template (puqDockerMinIO Notification disk limit)
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
Create an email template for customer notifications.
Template configuration
| Parameter | Value |
|---|---|
| Email Type | Product/service |
| Unique Name | puqDockerMinIO Notification disk limit |
Email Subject
Disk space usage {$disk_used_percentage}%
Email Body
Dear {$client_name},
We want to inform you that your MinIO 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}
Available template variables
| Variable | Description |
|---|---|
{$client_name} |
Client full name |
{$service_product_name} |
Product/service name |
{$service_domain} |
Service domain |
{$disk_total} |
Total disk space |
{$disk_used} |
Used disk space |
{$disk_used_percentage} |
Used disk space percentage |
Note: Standard WHMCS merge fields are also available in this template.
Client Area
Overview of the client-facing features available in the Docker MinIO WHMCS module, including the home screen, IP access control, reinstall, and metrics.
Home screen
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
Client Area Overview — Logical Structure
The main screen of the client area is divided into three logical sections:
This clear structure ensures that users have quick access to their application, real-time monitoring of resource usage, and essential management functions in one place.
Sidebar Navigation
The client area sidebar provides quick access to:
- Information — Main service page with connection details and resource monitoring
- Restrict by IP — IP access control page
- Reinstall — Service reinstallation page
IP Access Control
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
In the client area, the client can configure access to their resource by entering allowed IP addresses in the appropriate section on the Restrict by IP page.
If no IP addresses are specified, access is open to all IP addresses.
The page displays the service URLs (Web Console and REST API) and provides separate text areas for entering allowed IPs for each endpoint — one IP address per line.
Reinstall
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
The client has the option to fully reinstall the application, which will result in complete data loss.
This action can be performed on the Reinstall page, which also includes protection against accidental reinstallation.
To proceed with the reinstall, the client must enter the word REINSTALL in capital letters and confirm the action.
Metrics
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
If you use metrics for application traffic billing, the Metrics tab will display the usage statistics for the metrics.
The following metrics are available:
| Metric | Description |
|---|---|
| Traffic IN (GB) | Incoming network traffic in gigabytes |
| Traffic OUT (GB) | Outgoing network traffic in gigabytes |
The Metrics tab is accessible from the client area navigation alongside the Manage tab.
Admin Area
Administrative features and tools available in the WHMCS admin panel for managing Docker MinIO services.
Product Information
Docker MinIO module WHMCS
Order now | Download | FAQ | n8n
Admin Panel — Container Management Overview
The admin panel is structured into two main sections with additional control buttons for container management.
Module Commands
- Create — Provision a new MinIO container
- Suspend — Suspend the service
- Unsuspend — Reactivate the service
- Terminate — Remove the service
- Change Package — Update the service package
- Container Start — Start the Docker container
- Container Stop — Stop the Docker container
- Mount Disk — Attach the container's disk to the host system (modifies fstab)
- Unmount Disk — Detach the container's disk from the host system
API Connection Status
Displays the current connection status to the n8n workflow API endpoint.
Container Status & Resource Monitoring
| Field | Description |
|---|---|
| Status | Current state of the container (Running / Stopped) |
| Name | Unique identifier and domain of the container |
| CPU Usage | Current CPU load with progress bar |
| Memory Usage | RAM consumption in real-time with progress bar |
| Disk IO | Disk input/output operations |
| Disk Mounted | Mounted disk usage with progress bar |
| Disk File | Actual disk image size |
| Network IO | Network traffic statistics |
Additional controls:
Application Information
| Field | Description |
|---|---|
| Version | Installed MinIO version |
| Users | List of assigned users with access to the application |
Metric Statistics
| Metric | Description |
|---|---|
| Traffic IN (GB) | Incoming network traffic |
| Traffic OUT (GB) | Outgoing network traffic |