Skip to main content

Bring Your Own Cloud-Init Image

Cloud-Init lets you boot a custom qcow2 image and execute first-boot automation (user creation, key injection, package installs) on first boot. Make sure you keep independent backups—treat the custom-image upload and installation workflow as destructive; back up before starting.
Cloud-Init is a lightweight framework baked into many Linux templates. On first boot it reads your #cloud-config instructions, creates users, injects SSH keys, installs packages, and runs commands so the server is ready without manual steps.
Open Installation → Custom Image for the QCOW2 workflow. The normal view provides password and public-key fields; Expert mode exposes a user-data editor.
Cloud Init QCOW2 upload screen with Expert mode off and Proceed disabled

Custom Image overview: QCOW2 upload, access settings, firmware choice and the erase acknowledgement.

Why Use Cloud-Init

  • Automated onboarding – preconfigure users, passwords, SSH keys, and services.
  • Repeatable builds – reuse a reviewed image and user-data; package versions and external dependencies can still change.
  • Custom stacks – ship bespoke templates or vendor images instead of the standard automated installers.

Prepare Your Image

Build & Clean

Export a qcow2 disk that already includes Cloud-Init. Remove SSH host keys and temporary data so the instance generates fresh credentials on first boot.

Bring user-data

Keep your #cloud-config YAML handy. You’ll paste it in Expert mode if you want to run custom tasks on first boot.

Verify & checksum

Confirm the image boots locally and note its checksum. This helps you detect corruption before uploading and keeps reinstalls predictable.

Upload - Provision (Existing VPS)

1

Open the Installation tab

Sign in to the EDBB Control Panel, choose your VPS, and switch to the Installation tab.
2

Select Custom Image

Choose the Custom Image sub-tab to reveal the Cloud-Init upload interface.
3

Upload the qcow2 file

Drag & drop your qcow2 (or click browse). The Control Panel stores the image temporarily for this reinstall.
4

Configure Expert mode (optional)

Toggle Expert mode to replace the simple password/key fields with the Cloud-Init “user_data” editor. Supply the full configuration, including the access credentials you need. Review the optional firmware setting, then acknowledge that the disk will be erased.
Expert mode enabled with sample cloud config user-data and erase acknowledgement

Expert mode with a short illustrative YAML example. Configure account access as well before installing.

5

Start the installation

Click Proceed. The VPS is rebuilt from your qcow2 image and executes the supplied Cloud-Init directives on first boot.
The panel warns that the qcow2 workflow erases the VPS disk. Back up before uploading or confirming Proceed. Keep an external backup and verify the checksum of your image before you begin.

Debian/Ubuntu example cloud-config

This example assumes a Debian/Ubuntu Cloud-Init image and its sudo group. Replace the entire example key line with your valid public key. It creates a user but does not grant passwordless sudo; configure administrative access deliberately and test it through the console. Do not paste secrets into reusable images. Validate user-data against your image before installation.

Validate - Troubleshoot

  • Run sudo cloud-init status --wait after first boot to confirm success.
  • Check /var/log/cloud-init.log for detailed logs if tasks fail.
  • Inspect /var/log/cloud-init-output.log as well. Rerunning the installation erases the current disk; prefer correcting a running system when a reinstall is unnecessary.