PanelAlpha Documentation
Back Home
Live Demo Get Started

SSL Configuration

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

# SSL Configuration

  • Free Let's Encrypt certificate
  • Renew Let's Encrypt certificate
  • Custom certificate
  • Domain configuration in PanelAlpha

PanelAlpha platform can operate based either on a domain or an IP address. If you are using a domain, you can configure hosts to use the appropriate SSL certificate.

# Free Let's Encrypt certificate

Steps to install a free SSL certificate:

  1. Log in to your server via SSH with root access.

  2. Make sure that your domain is correctly resolving DNS to your server's IP address.

  3. Make sure ports 80 and 443 on your server are not blocked by a firewall.

  4. Temporarily turn off the PanelAlpha application.

    docker compose -f /opt/panelalpha/app/docker-compose.yml down
    
  5. Use certbot docker image to request free Let's Encrypt certificate for your server. Remember to replace YOUR_DOMAIN with correct domain.

    docker run -it --rm --name certbot \
    -v "/etc/letsencrypt:/etc/letsencrypt" \
    -v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
    -p 80:80 \
    certbot/certbot certonly --standalone \
    --cert-name panelalpha-app \
    -d YOUR_DOMAIN
    
  6. Follow the instructions in the terminal. You need to enter your email address and accept "Terms of Service".

  1. Use following commands to point the certificate files to PanelAlpha application:

    sed -i~ '/^SSL_CERT_FULLCHAIN=/s#=.*#=/etc/letsencrypt/live/panelalpha-app/fullchain.pem#' /opt/panelalpha/app/.env
    
    sed -i~ '/^SSL_CERT_PRIVKEY=/s#=.*#=/etc/letsencrypt/live/panelalpha-app/privkey.pem#' /opt/panelalpha/app/.env
    
  2. Turn PanelAlpha application on again, using the below command:

    docker compose -f /opt/panelalpha/app/docker-compose.yml up -d
    

# Renew Let's Encrypt certificate

In order to renew your Let's Encrypt certificate, you need to execute the following command:

bash /opt/panelalpha/app/letsencrypt-renew.sh

Wait until you receive a confirmation message in the terminal to ensure the certificate has been renewed successfully.

# Custom certificate

  1. Log in to your server via SSH as root.

  2. Make sure you know the full paths of your certificate files: full chain file and private key file.

  3. Temporarily turn off PanelAlpha application using the below command:

    docker compose -f /opt/panelalpha/app/docker-compose.yml down
    
  4. Use following commands to point the certificate files to PanelAlpha application.
    Remember to replace: /path/to/fullchain and /path/to/privatekey with correct paths.

    sed -i~ '/^SSL_CERT_FULLCHAIN=/s#=.*#=/path/to/fullchain#' /opt/panelalpha/app/.env
    
    sed -i~ '/^SSL_CERT_PRIVKEY=/s#=.*#=/path/to/privatekey#' /opt/panelalpha/app/.env
    
  5. Turn PanelAlpha application on again, using the below command:

    docker compose -f /opt/panelalpha/app/docker-compose.yml up -d
    

# Domain configuration in PanelAlpha

Update the 'Application URL' and the 'Admin URL' by using the Change Domain option as documented here.