Add your custom image to DigitalOcean with Vmware Fusion

I run my Chef cookbooks on DigitalOcean. Only problem is, when the OS isn’t supported anymore DO removes it from their supported images.

DO created something what they call: Custom Images.

I created this vm with Vmware Fusion, because i have it installed om my laptop.

  1. Start Fusion and choose to create a custom install.
  2. DO bills you for the amount of diskspace you use, so we will keep the image as small as possible. I managed to get it inside a 1GB image, 2GB would be easier. Click customtize settings before finishing. When choosing the size click on advanced options and deselect Split into multiple files

  3. These are my options during the installer.

  4. Language → English
  5. Country → Other → Europe → Belgium
  6. Locales → United States
  7. Keymap → american English
  8. Hostname → debian
  9. Partitioning → Manual → Remove all partitions, and create only 1 partition

  10. package survery → no
  11. Grub boot loader → yes
    1. Grub boot loader → /dev/sda
  12. echo -e “/dev/vda1\t /\t ext4\t errors=remount-ro\t 0\t 1” > /etc/fstab
  13. reboot the server
  14. Last steps before uploading.

  15. apt-get upgrade
  16. apt-get upgrade
  17. apt-get dist-upgrade
  18. apt-get clean
  19. apt-get install sudo openssh-server
    1. Digitalocean uses cloud-init to configure the images. Cloud-init depends on some python packages. The latest version in debian jessie doesn’t support DO yet, which makes the initializing process slow. As the cloud-init package doesn’t have any wierd dependecies i just wget the package.
    2. apt-get install gdisk python3-configobj python3-configobj python3-jinja2 python3-jinja2 python3-jsonpatch  python3-jsonschema python3-oauthlib python3-requests python3-six python3-yaml python3-serial
    3. cd /tmp
    4. wget
    5. wget
    6. dpkg -i cloud-guest-utils_0.29-1_all.deb
    7. dpkg -i cloud-init_18.3-5_all.deb

Posted by Bram

Owner of x-plose. Having fun with chef, icinga, networking