Question

Custom Image Unix, Filesystem, and cloud-init Requirements

I was reading about custom images here (https://docs.digitalocean.com/products/images/custom-images/details/features/), and came across three requirements that I can’t seem to find more details on.

  1. Operating system must be Unix-like. Just how Unix-like does my OS have to be? What in particular makes it necessary to have a Unix-like OS? What specific Unix features does Digital Ocean expect, and what does it use them for?

  2. OS must support ext3 or ext4 file systems. Does this mean the OS needs to be on an ext fs, or just needs to read one? What exactly is ext required for? I’d prefer to have no filesystem at all if possible.

  3. cloud-init is required. What exactly is cloud-init used for? The page linked says that droplets without it won’t function correctly, but it doesn’t provide details regarding why. I was reading through the metadata in the cloud-init drive on an Ubuntu droplet, and it seems to contain some network config info. As I understand it, custom images use DHCP to configure their network systems, so would any of the network config info even be relevant? There’s also some sort of droplet agent install script, but I’m not sure what this does exactly. What exactly do I need cloud-init for? If it is necessary for operation, is it feasible to replicate the necessary functionality without cloud-init?

I need my OS to do exactly two things: read/write network packets that can reach the internet and read/write from its disk. As long as I can achieve this, I shouldn’t need any further configuration.

This page also listed SSH as a requirement, but I don’t think that’s relevant to me, as I plan to access it over TLS.

Thanks for your time.


Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Bobby Iliev
Site Moderator
Site Moderator badge
May 30, 2023
Accepted Answer

Hi there,

Do you by any chance have the name of the operating system that you are interested in running? I can do some research based on that specific operating system.

Regarding your questions:

  • Operating system must be Unix-like: Unix-like systems are systems, such as Linux and BSD. For example, Windows is not a Unix-like system. DigitalOcean’s infrastructure, management tools, and hypervisor rely on these for efficient operation and compatibility. Here is a good list of cloud-friendly official Unix-like OS images on OpenStack which you can use as the base of your custom image.
  • OS must support ext3 or ext4 file systems: ext4, or fourth extended file system, is a journaling file system for Linux. ext4’s most common use case is formatting volumes, hard drives, and other computing storage solutions. This covers your requirement for your server to be able to read/write from its disk.
  • cloud-init is required: Cloud-init is a standard tool that allows you to automate the initialization of your Linux instances. This means that you can use cloud-init to inject a file into your Droplets/Servers at deployment that automatically sets up things like new users, firewall rules, app installations, SSH keys and etc. Most of the images from the OpenStack website contain the cloud-init package.
  • SSH requirement: Even if you plan to access your droplet over TLS, DigitalOcean might still require SSH to be set up. This could be for reasons related to management, backup, or recovery. You can still lock down the SSH port so that it is not going to be accessible from the public internet using a firewall.

Feel free to share more details on the OS that you have in mind and the exact project that you are planning to build and I’ll be happy to clarify any of those points if needed!

Best,

Bobby

Technically speaking you can get things other than a unix-like OS to boot, and you can use a fs other than ext4, but some control panel features probably won’t work (especially things like “reset root password”) and support staff aren’t going to be set up to help with anything that doesn’t work right. Additionally, something that works now might break later due to some change in the underlying software (such as a hypervisor change causing Windows to think you changed the CPU on it, triggering license invalidation, etc.)

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel