PanelAlpha Documentation
Back Home
Live Demo Get Started

PanelAlpha Engine For Docker

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 New Account Trials Control Panel Upgrades Trial Notifications 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.

# 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.

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.

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

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.
  • 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