Automate CloudPanel Installation with Cloud-Init on Ubuntu/Debian

Cloud providers like AWS support cloud-init for automated server setup. The following configuration installs CloudPanel on a fresh Ubuntu/Debian system and configures the admin user, enabling immediate access to the admin UI after installation.

# AWS Cloud-init Configuration
#cloud-config
packages:
  - curl
  - wget
  - sudo
package_update: true
package_upgrade: true

runcmd:
  - curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o /tmp/install.sh
  - sudo CLOUD=aws DB_ENGINE=MARIADB_11.4 bash /tmp/install.sh
  - sudo /usr/bin/clpctl user:add --userName='admin' --email='admin@domain.com' --firstName='Admin' --lastName='User' --password='!password!' --role='admin' --timezone='UTC' --status='1'
  - reboot

# Google Cloud Platform Cloud-init Configuration
#cloud-config
packages:
  - curl
  - wget
  - sudo
package_update: true
package_upgrade: true

runcmd:
  - curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o /tmp/install.sh
  - sudo CLOUD=gcp DB_ENGINE=MARIADB_11.4 bash /tmp/install.sh
  - sudo /usr/bin/clpctl user:add --userName='admin' --email='admin@domain.com' --firstName='Admin' --lastName='User' --password='!password!' --role='admin' --timezone='UTC' --status='1'
  - reboot

# Microsoft Azure Cloud-init Configuration
#cloud-config
packages:
  - curl
  - wget
  - sudo
package_update: true
package_upgrade: true

runcmd:
  - curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o /tmp/install.sh
  - sudo CLOUD=azure DB_ENGINE=MARIADB_11.4 bash /tmp/install.sh
  - sudo /usr/bin/clpctl user:add --userName='admin' --email='admin@domain.com' --firstName='Admin' --lastName='User' --password='!password!' --role='admin' --timezone='UTC' --status='1'
  - reboot

# Oracle Cloud Infrastructure Cloud-init Configuration
#cloud-config
packages:
  - curl
  - wget
  - sudo
package_update: true
package_upgrade: true

runcmd:
  - curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o /tmp/install.sh
  - sudo CLOUD=oci DB_ENGINE=MARIADB_11.4 bash /tmp/install.sh
  - sudo /usr/bin/clpctl user:add --userName='admin' --email='admin@domain.com' --firstName='Admin' --lastName='User' --password='!password!' --role='admin' --timezone='UTC' --status='1'
  - reboot

# IBM Cloud Cloud-init Configuration
#cloud-config
packages:
  - curl
  - wget
  - sudo
package_update: true
package_upgrade: true

runcmd:
  - curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o /tmp/install.sh
  - sudo CLOUD=ibm DB_ENGINE=MARIADB_11.4 bash /tmp/install.sh
  - sudo /usr/bin/clpctl user:add --userName='admin' --email='admin@domain.com' --firstName='Admin' --lastName='User' --password='!password!' --role='admin' --timezone='UTC' --status='1'
  - reboot

# DigitalOcean Cloud-init Configuration
#cloud-config
packages:
  - curl
  - wget
  - sudo
package_update: true
package_upgrade: true

runcmd:
  - curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o /tmp/install.sh
  - sudo CLOUD=digitalocean DB_ENGINE=MARIADB_11.4 bash /tmp/install.sh
  - sudo /usr/bin/clpctl user:add --userName='admin' --email='admin@domain.com' --firstName='Admin' --lastName='User' --password='!password!' --role='admin' --timezone='UTC' --status='1'
  - reboot

# Alibaba Cloud Cloud-init Configuration
#cloud-config
packages:
  - curl
  - wget
  - sudo
package_update: true
package_upgrade: true

runcmd:
  - curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o /tmp/install.sh
  - sudo CLOUD=alibaba DB_ENGINE=MARIADB_11.4 bash /tmp/install.sh
  - sudo /usr/bin/clpctl user:add --userName='admin' --email='admin@domain.com' --firstName='Admin' --lastName='User' --password='!password!' --role='admin' --timezone='UTC' --status='1'
  - reboot

# OpenStack Cloud-init Configuration
#cloud-config
packages:
  - curl
  - wget
  - sudo
package_update: true
package_upgrade: true

runcmd:
  - curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o /tmp/install.sh
  - sudo CLOUD=openstack DB_ENGINE=MARIADB_11.4 bash /tmp/install.sh
  - sudo /usr/bin/clpctl user:add --userName='admin' --email='admin@domain.com' --firstName='Admin' --lastName='User' --password='!password!' --role='admin' --timezone='UTC' --status='1'
  - reboot

# CloudStack Cloud-init Configuration
#cloud-config
packages:
  - curl
  - wget
  - sudo
package_update: true
package_upgrade: true

runcmd:
  - curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o /tmp/install.sh
  - sudo CLOUD=cloudstack DB_ENGINE=MARIADB_11.4 bash /tmp/install.sh
  - sudo /usr/bin/clpctl user:add --userName='admin' --email='admin@domain.com' --firstName='Admin' --lastName='User' --password='!password!' --role='admin' --timezone='UTC' --status='1'
  - reboot`