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 when uncompressed, including the filesystem.

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

  • cloud-init. Images must have cloud-init 0.7.7 or higher, 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.

Warning

You must add an SSH key when creating Droplets from a custom image. These Droplets have password authentication disabled by default and it’s not possible to use the control panel to generate or reset the root password.

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 navigation, 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.

Note

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 prompts you to enter details about your image.

Upload an image window
  • Edit Image Name: This field is 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 is 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 appears on the control panel next to the Upload Image button. If you click on Details above this progress bar, a window appears listing all of your current uploads.

Custom image upload progress 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.