How to Provision Vultr Bare Metal Instances

Updated on 17 February, 2026

A guide explaining how to set up and deploy Vultr Bare Metal server instances.


Vultr Bare Metal instances are single-tenant dedicated cloud servers designed for applications with the most demanding performance and security requirements. Bare Metal instances don't use any virtualization and include an operating system that enables you to run applications on the specified server hardware.

Follow this guide to provision Vultr Bare Metal instances using the Vultr Customer Portal, API, CLI, or Terraform.

  • Vultr Customer Portal
  • Vultr API
  • Vultr CLI
  • Terraform
  1. Navigate to Products and select Compute on the list of product options.

  2. Click Deploy to access the Deploy New Instance page.

  3. Select Bare Metal from the list of options.

  4. Choose your desired Vultr location to deploy the Bare Metal instance.

  5. Select your Bare Metal instance specifications from the list of available Vultr plans.

  6. Click Configure Software.

  7. Select a cloud image to install on your instance based on the following options:

    • Operating System: Installs a fresh operating system image on the instance.
    • Marketplace Apps: Install a prebuilt software stack or application with the recommended operating system image.
    • iPXE: Allows you to boot your instance using remote disk images or scripts.
  8. Select optional Server Settings to apply on the instance.

    • SSH Keys: Installs a specific SSH key on the instance.
    • Startup Script: Enables a startup script to execute at deployment or a PXE script to automate the operating system installation.
    • Firewall Group: Activates a Vultr Firewall group to filter incoming network traffic on the instance.
  9. Select the Bare Metal instance Disk configuration based on the following options:

    • RAID 1: Configures disks in a software RAID 1 array for data redundancy.
    • No RAID: Formats and mounts disks individually without RAID configuration.
    • No RAID (Extra disks unformatted): Leaves additional disks unformatted for manual configuration.
  10. Enter a new hostname in the Server Hostname field and a descriptive label in the Server Label field to identify the instance.

  11. Configure Additional Features for the instance.

    • Instance Connectivity: Select how the instance connects to the internet.
      • Instance(s) with Public IP: Assigns public IP addresses directly to the instance. Under Instance Address, Public IPv4 is enabled by default. Select Public IPv6 to enable IPv6 addressing. After selecting IPv6, you can optionally deselect Public IPv4 to create an IPv6-only instance.
      • Private Instance(s) behind NAT Gateway: Routes internet traffic through a NAT Gateway in a Virtual Private Cloud (VPC) Network. Select an existing VPC Network with a NAT Gateway or click Add VPC Network to create a new one.
    • VPC Network: Connects the instance to a VPC Network in the current location.
    • Limited User Login: Creates a linuxuser non-root user with sudo privileges as the default user account instead of root.
  12. Click Deploy to provision the instance.

  1. Send a POST request to the Create Bare Metal Instance endpoint to create a new Vultr Bare Metal instance. Replace VULTR_LOCATION, INSTANCE_PLAN, OS_ID, INSTANCE_LABEL, and HOSTNAME with your target values.

    console
    $ curl "https://api.vultr.com/v2/bare-metals" \
      -X POST \
      -H "Authorization: Bearer ${VULTR_API_KEY}" \
      -H "Content-Type: application/json" \
      --data '{
        "region" : "VULTR_LOCATION",
        "plan" : "INSTANCE_PLAN",
        "os_id" : OS_ID,
        "label" : "INSTANCE_LABEL",
        "hostname": "HOSTNAME"
      }'
    

    Visit the Create Bare Metal Instance API page to view additional attributes you can apply on the Vultr Bare Metal instance.

  1. Create a new Vultr Bare Metal instance. Replace VULTR_LOCATION, INSTANCE_PLAN, OS_ID, INSTANCE_LABEL, and HOSTNAME with your target values.

    console
    $ vultr-cli bare-metal create --region VULTR_LOCATION --plan INSTANCE_PLAN --os OS_ID --label INSTANCE_LABEL --hostname HOSTNAME
    

    Run vultr-cli bare-metal create --help to view additional options you can apply on the Vultr Bare Metal instance.

  1. Ensure the Vultr Terraform provider is configured in your Terraform project.

  2. Add the Bare Metal instance resource to your Terraform configuration.

    terraform
    terraform {
        required_providers {
            vultr = {
                source  = "vultr/vultr"
                version = "~> 2.26"
            }
        }
    }
    
    provider "vultr" {}
    
    resource "vultr_bare_metal_server" "bm" {
        region        = "del"                   # Target deployment region
        plan          = "vbm-4c-32gb"           # Bare Metal plan ID
        os_id         = 2284                    # Ubuntu 24.04 LTS x64
        label         = "baremetal-instance-1"
        hostname      = "baremetal-instance-1"
        enable_ipv6   = true
    }
    
    output "public_ip" {
        value = vultr_bare_metal_server.bm.main_ip
    }
    
  3. Apply the configuration and observe the following output:

    Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Comments