How to Upload Custom Images

Image Requirements

Images you upload to DigitalOcean must meet the following requirements:

  • Operating system. Images must have a Unix-like OS.

  • File format. Images must be in one of the following file formats:

  • Size. Images must be 100 GB or less uncompressed.

  • Filesystem. Images must support the ext3 or ext4 filesystems.

  • cloud-init. Images must have cloud-init 0.7.7, cloudbase-init, coreos-cloudinit, iginition, or bsd-cloudinit installed and configured correctly. If your image’s default cloud-init configuration lists the NoCloud datasource before the ConfigDrive datasource, Droplets created from your image will not function properly.

    Click here to display detailed cloud-init instructions.

  • SSH configuration. Images must have sshd installed and configured to run on boot. If your image does not have sshd set up, you will not have SSH access to Droplets created from that image unless you recover access using the Droplet console.

You can also upload a custom image that meets the above criteria as a compressed gzip or bzip2 file.

You can find cloud-friendly official Unix-like OS images on OpenStack.

Upload with the Control Panel

To upload an image via the control panel, click Images in the main naviation, then click the Custom Images tab.

Custom Images tab in the control panel

Here, you can upload a custom image in two ways:

  • You can upload an image file directly by clicking the Upload Image button, which opens a file selector, or by dragging and dropping the image file into the window.

  • You can enter the URL to an image file by clicking the Import via URL button. In the Upload an Image window that opens, enter the URL of the image you want to use in the text field, then click Next.

Some browsers have file size limitations. If you’re unable to upload a large file via your browser, you can host the file somewhere and upload it by URL. For example, you can upload your image to Spaces and make the file public or use a file sharing tool like Dropbox. Make sure the URL ends in the file extension (like example.com/file.raw instead of example.com/file.raw?dl=0).

Using either upload method, the next window that opens will prompt you to enter details about your image.

Window to enter custom image details

  • Edit Image Name: This field will be pre-filled with the name of the file you uploaded, but you can customize it if you like.

  • Distribution: You can choose from Arch Linux, RancherOS, Fedora, Ubuntu, CentOS, Debian, or Unknown.

  • Choose a datacenter region: Your image will be located in a single datacenter of your choice at first, and you can transfer custom images to different datacenters after uploading.

  • Tags (optional): Custom images support tagging. You can add tags to your custom image here or at any time after uploading.

  • Notes (optional): This is a plain text field you can use to enter any additional notes about your custom image for your use.

After you’ve entered these details, click Upload Image. A progress bar will appear on the control panel next to the Upload Image button. If you click on Details above this progress bar, a window will appear listing all of your current uploads.

Custom image upload window

You can click the X next to any in-progress upload to cancel it, or click Cancel Uploads to cancel all current uploads.

Once you have at least one custom image added to your account, you can create a Droplet from a custom image.