How to Check the Marketplace Image Requirements

Updated on 05 August, 2026

Review the Vultr Marketplace technical requirements your application image must meet before building, with helper scripts from the Vultr GitHub repository.


Vultr Marketplace has technical requirements your application must meet before you build an image. Our GitHub repository also has helper scripts and examples.

This guide explains how to meet these requirements before building an image.

Your application must meet the following requirements:

  • Use the smallest filesystem possible.
  • Use an OS that supports cloud-init.
  • Include the Vultr kernel option.

Start with a Small Filesystem

When a customer deploys a Marketplace app, Vultr can expand your app to fill the filesystem but cannot shrink it. Use the marketplace-2c-2gb plan, which is designed for Marketplace applications. This plan includes 2 vCPUs, 2 GB of memory, and 8 GB of storage.

If you create a 20 GB Marketplace app, and the customer deploys an 80 GB subscription, Vultr expands the app to fill the entire 80 GB filesystem. However, if you create an app with an 80 GB filesystem, customers cannot deploy the app on smaller Vultr instances. Use the smallest possible filesystem for your app.

Install cloud-init

Vultr Marketplace uses cloud-init to initialize the instance with network addresses, passwords, and startup scripts. These operating systems have the correct version of cloud-init preinstalled if you use Vultr's images.

Canonical added support for Vultr in cloud-init version 21.2. Until this version is available in your OS repository, install Vultr's cloud-init. See the install_cloud_init() function in our helper script on GitHub.

RHEL, CentOS, and Other Yum-Based Distributions

Install Vultr's cloud-init package as follows.

  1. Change to the /tmp directory.

    console
    # cd /tmp
    
  2. Download the cloud-init package.

    console
    # wget https://ewr1.vultrobjects.com/cloud_init_beta/cloud-init_rhel_latest.rpm
    
  3. Install the package.

    console
    # yum install -y /tmp/cloud-init_rhel_latest.rpm
    

Debian

Debian systems must use this version. Do not compile from source or install from the Debian repositories.

  1. Change to the /tmp directory.

    console
    # cd /tmp
    
  2. Download the cloud-init package.

    console
    # wget https://ewr1.vultrobjects.com/cloud_init_beta/cloud-init_debian_latest.deb
    
  3. Refresh the package index.

    console
    # apt-get update -y
    
  4. Install the package.

    console
    # apt-get install -y /tmp/cloud-init_debian_latest.deb
    

Ubuntu

Ubuntu systems use the universal build.

  1. Change to the /tmp directory.

    console
    # cd /tmp
    
  2. Download the cloud-init package.

    console
    # wget https://ewr1.vultrobjects.com/cloud_init_beta/cloud-init_universal_latest.deb
    
  3. Refresh the package index.

    console
    # apt-get update -y
    
  4. Install the package.

    console
    # apt-get install -y /tmp/cloud-init_universal_latest.deb
    

NetworkManager Note

Cloud-init may not correctly interface with NetworkManager on some distributions, such as CentOS and RHEL. On these distributions, the network is not configured correctly, and the boot process fails. If this occurs, disable NetworkManager, then install and enable the network-scripts package. NetworkManager must be disabled but does not need to be uninstalled.

Set the Vultr Kernel Option

The Marketplace requires the kernel option vultr on Bare Metal instances. The option is not required for cloud deployment, but including it keeps your application compatible with both VPS and Bare Metal deployments. If your application is based on one of Vultr's OS images, this kernel option may already exist.

Check the Kernel Option

Check /etc/default/grub.

console
# grep 'vultr' /etc/default/grub

You may see vultr in the output:

GRUB_CMDLINE_LINUX_DEFAULT="vultr"

If there is no vultr option, add it.

Add the Kernel Option

  1. Edit /etc/default/grub.

    console
    # nano /etc/default/grub
    
  2. Find the line starting with GRUB_CMDLINE_LINUX_DEFAULT and add vultr to the end.

    ini
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vultr"
    

    Save the file and close the editor.

  3. Update GRUB. Check the documentation for your distribution to determine the correct procedure. Ubuntu and Debian systems may use the update-grub utility.

    console
    # update-grub
    

CentOS and RHEL

On CentOS and RHEL systems, add the kernel option with grubby.

console
# /sbin/grubby --update-kernel=ALL --args vultr

Comments