PanelAlpha Documentation
Back Home
Home
Live Demo Get Started

PanelAlpha Engine For Docker

  • Documentation
  • Troubleshooting Center
  • API
  • Documentation
    • Introduction
    • FAQ
    • Automatic Tester
  • Getting Started
    • Requirements
    • Installation
    • Update Guide
    • SSL Configuration
    • Resetting Admin Password
    • Translations
    • Health Check
    • Diagnostic Mode
    • Additional Configuration
  • Background Billing
    • Introduction
    • Billing System
    • Quick Registration
    • Social Media Login
    • Client Area
  • Admin Area
    • Dashboard
    • Instances
    • Services
    • Users
    • Logs
    • Migrations
  • Onboarding Methods
    • Quick Onboarding
    • Super Quick Onboarding
    • Standard Onboarding
  • System Configuration
    • General Configuration
    • Branding
    • Hosting Servers
    • DNS Servers
    • Email Servers
    • Remote Backups
    • Plans
    • Notifications
    • Automatic SSL
    • Themes, Plugins and Packages
  • Hosting Server Connections
    • Hosting Scenarios
    • PanelAlpha Engine for Docker
      BETA
    • cPanel
    • Plesk
    • DirectAdmin
    • WP Cloud
  • Email Server Connections
    • Mailcow
    • cPanel
  • DNS Server Connections
    • Cloudflare
    • cPanel DNS Only
    • PowerDNS
  • Billing Systems Integrations
    • WHMCS
  • Billing Scenarios
    • Introduction
    • Single WordPress Instance
    • Predefined WordPress Template
    • Multiple WordPress Instances
    • Cross-Selling Paid Plugins and Themes
    • Cross-Selling Domains
    • Plan Upgrade
  • Integrations
    • Integrated Solutions
    • AWStats
    • Matomo
      DEPRECATED
    • Google Analytics
    • Let's Encrypt
    • Google PageSpeed Insights
    • DB-IP
    • Extendify
    • WithoutDNS
  • Client Area - Instances
    • List of Instances
    • Creating New Instance
    • Importing Existing Instance
    • Instance Details
    • Changing Domain
    • Sharing Instances
    • Monitoring
    • Backups
    • Plugins
    • Advanced Settings
  • Client Area - Hosting
    • Summary
    • Domains
    • FTP Accounts
    • MySQL Databases
    • Cron Jobs
    • File Manager
    • DNS Zone Editor
    • Email Addresses
    • Email Forwarders
Page Contents
  • Architecture
  • Requirements
  • Installation
  • Server configuration in PanelAlpha
  • Redis Cache
  • Update process
  • Tips
Documentation
    Introduction FAQ Automatic Tester
Getting Started
    Requirements Installation Update Guide SSL Configuration Resetting Admin Password Translations Health Check Diagnostic Mode Additional Configuration
Background Billing
    Introduction Billing System Quick Registration Social Media Login Client Area
Admin Area
    Dashboard Instances Services Users Logs Migrations
Onboarding Methods
    Quick Onboarding Super Quick Onboarding Standard Onboarding
System Configuration
    General Configuration Branding Hosting Servers DNS Servers Email Servers Remote Backups Plans Notifications Automatic SSL Themes, Plugins and Packages
Hosting Server Connections
    Hosting Scenarios PanelAlpha Engine for Docker cPanel Plesk DirectAdmin WP Cloud
Email Server Connections
    Mailcow cPanel
DNS Server Connections
    Cloudflare cPanel DNS Only PowerDNS
Billing Systems Integrations
    WHMCS
Billing Scenarios
    Introduction Single WordPress Instance Predefined WordPress Template Multiple WordPress Instances Cross-Selling Paid Plugins and Themes Cross-Selling Domains Plan Upgrade
Integrations
    Integrated Solutions AWStats Matomo Google Analytics Let's Encrypt Google PageSpeed Insights DB-IP Extendify WithoutDNS
Client Area - Instances
    List of Instances Creating New Instance Importing Existing Instance Instance Details Changing Domain Sharing Instances Monitoring Backups Plugins Advanced Settings
Client Area - Hosting
    Summary Domains FTP Accounts MySQL Databases Cron Jobs File Manager DNS Zone Editor Email Addresses Email Forwarders

# PanelAlpha Engine For Docker

  • Architecture
  • Requirements
  • Installation
  • Server configuration in PanelAlpha
  • Redis Cache
  • Update process
  • Tips

This engine has been designed to handle “webhosting service” as a separate docker container on a server. This way each customer’s data is separated and can scale up depending on the needs. The solution also works well for individual customers who are having too large instances to have them on a shared hosting server.

Please note: this setup is now in BETA phase so need to be cautiously implemented on live environments and is recommended only for companies that are familiar with Docker.

# Architecture

Presented below is an illustrative diagram showcasing the architecture of PanelAlpha engine. Explore how the engine is structured and the relationships established between containers.

PanelAlpha Engine architecture diagram - PanelAlpha Documentation
PanelAlpha Engine architecture diagram - PanelAlpha Documentation

# Requirements

To successfully install PanelAlpha engine, you must first ensure that your server meets all of the requirements listed below:

  • RAM: 4GB
  • Operating System:
    • Debian 12 "bookworm" or
    • Ubuntu 22.04.4 LTS (Jammy Jellyfish)
  • SSH Connection with root access
  • Open ports:
    • Ports 80, 443 for website access
    • Port 2011 needs to be accessible from PanelAlpha
    • Port 21 and ports 30000-30009 for FTP access

Important!
The PanelAlpha engine must be installed on a separate server, meeting the above requirements. Installing both PanelAlpha and PanelAlpha engine on the same server will cause the installations to be non-functional.

# Installation

The entire installation process is described in the Wizard itself, but you can also refer to this tutorial for additional details.

  1. Start with logging in to your server via SSH using the root account.

  2. Next, Use the below command to download the installer:

    wget -N -P /opt/panelalpha https://license.panelalpha.com/engine-installer.sh
    
  3. Now use the following command to run the script:

    bash /opt/panelalpha/engine-installer.sh --key 'LICENSE_KEY'
    
  4. Don't forget to include the 'key' parameter at the end of the command and paste your license key there. You can locate your license key in your client area under 'Licenses' in the product details.

  5. After the installation is complete, please copy the API Key from the PanelAlpha Engine Installer and paste it in the third step while using the Wizard to install your PanelAlpha platform.

PanelAlpha Engine installation - PanelAlpha Documentation
PanelAlpha Engine installation - PanelAlpha Documentation

You will also need these data if you decide to add PanelAlpha server type later on, directly in the PanelAlpha Engine platform during further configuration. Proceed to the next step, 'Hosting Server Configuration,' where you will use the data you've just generated.

# Server configuration in PanelAlpha

Hover over Configuration → Servers → Hosting Services. You will see there a list of already installed servers, if there are any. You may add new server from this point, just follow the below steps.

Hosting Services - PanelAlpha Documentation
Hosting Services - PanelAlpha Documentation

Press the 'Add Server' button, a new form will appear. Fill out all the required data to successfully add the new server:

  • Name - enter the server name
  • Type - in our case we are selecting "PanelAlpha" engine
  • Group - choose an existing group to assign the server or create a new one from this place
  • IP/Hostname - enter the same IP/Hostname as you used during the installation process - see step 5 of the PanelAlpha engine installation
  • API Token - previously generated API Key - see step 5 of the PanelAlpha engine installation
  • SSL Verification - select if you want to connect via SSL
  • Onboarding Domain (Optional) - If a domain is entered here, it will be used for instance creation instead of the domain specified in the plan configuration with the Quick or Superquick onboarding method selected. This is useful when multiple servers are assigned to a single group in Hosting Servers.
  • Test Connection - check if connection is successful
Configuration of PanelAlpha server type - PanelAlpha Documentation
Configuration of PanelAlpha server type - PanelAlpha Documentation

Your PanelAlpha Engine For Docker is now ready to use. You may set it up as Hosting Server type of prepared Plans.

# Redis Cache

  • Redis server is automatically installed with each PanelAlpha Engine service as part of the default configuration
  • Navigate to the "Plan Configuration" section at: Admin Area → Configuration → Plans → Plan details → Hosting → Enable Redis Cache to enable Redis caching.
Enabling Redis Cache - PanelAlpha Documentation
Enabling Redis Cache - PanelAlpha Documentation
  • Upon enabling this option, Redis Object Caching (opens new window) plugin will be automatically installed and configured for the WordPress instances.

# Update process

With every new release of the PanelAlpha application, please verify if any changes are introduced to the engine itself. If yes, a manual update will be required. You can find adequate information in the latest PanelAlpha release changelog (opens new window).

Follow the below steps to update the engine:

  1. Access your server using SSH with root privileges.

  2. Download the updater using the below command:

    wget -N -P /opt/panelalpha https://license.panelalpha.com/engine-updater.sh
    
  3. Use the below bash command to execute the script:

    bash /opt/panelalpha/engine-updater.sh --key 'LICENSE_KEY'
    

# Tips

  1. If you have lost your PanelAlpha Engine API token, you can easily regenerate it and reconnect the engine with PanelAplha. Simply log in to your engine server via SSH as the root user and run the following command to generate a new API token.
 docker compose -f /opt/panelalpha/shared-hosting/docker-compose.yml exec core php artisan api-token:create tokenname