PUQ Mautic

Installation and configuration guide

Basic concepts and requirements

Docker Immich 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 Immich module is part of the WHMCS Docker module series developed by PUQcloud. This module enables service providers to offer Immich 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 Immich 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-Immich/php82/PUQ_WHMCS-Docker-Immich-latest.zip

PHP 8.1

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

PHP 7.4

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

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

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

Preparing Docker Server

Docker Immich 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 Immich module WHMCS 

 Order now | Download | FAQ | n8n

Overview

The Docker Immich 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-1742323964634.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-1742324015958.png

 

nginx

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

image-1741875960357.png

image-1742324044762.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 Immich 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 Immich" 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-1742324235831.png

image-1742324306086.png

 

 

 

Product Configuration

Docker Immich 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 Immich" module

Metric Billing

Docker Immich 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 (puqDockerImmich Welcome Email)

Docker Immich module WHMCS 

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

image-1742325411268.png

Subject: 

Immich 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 Immich instance is in progress.
Within the next 4-5 minutes, you will be able to use your Immich instance.

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

Here is the link to your Immich server.

https://{$service_domain}/

Thank you for choosing us.

{$signature}

image-1742325563570.png

 

 

 

 

Email Template (puqDockerImmich Update Email)

Docker Immich module WHMCS 

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

image-1742326011602.png

Subject: 

Immich Update Information

Body:

Dear {$client_name},

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

Here is the link to your Immich server.

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

{$signature}

image-1742326094269.png

 

 

 

 

Email Template (puqDockerImmich Notification disk limit)

Docker Immich module WHMCS 

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

image-1742326213042.png

Subject: 

Disk space usage {$disk_used_percentage}%

Body:

Dear {$client_name},

We want to inform you that your Immich 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-1742326312540.png

 

 

 

Configurable Option (CPU/RAM/DISK)

Docker Immich module WHMCS 

 Order now | Download | FAQ | n8n

In order for the client to have a choice of operating system in the configuration of the virtual machine. You need to configure the Configurable Option and connect them to the package.

Create Group

Add new Configurable Option to WHMCS

System Settings->Configurable Option->Create a New Group

image-1663138303613.png

 

Enter the group name, description, and select the products you need.

Group Name: Docker

image-1745864110464.png

Add Configurable Option

image-1745864205353.png

 

CPU|CPU - The first element before | must be left as is, but the second can be changed to suit your needs

image-1745866390473.png

In the option, the first element is responsible for the quantity and the second element is responsible for the description.

 

RAM|MEM - The first element before | must be left as is, but the second can be changed to suit your needs

image-1745866413434.png

In the option, the first element is responsible for the quantity and the second element is responsible for the description.

 

DISK|Disk - The first element before | must be left as is, but the second can be changed to suit your needs

image-1745866456963.png

In the option, the first element is responsible for the quantity and the second element is responsible for the description.