How to Create a Droplet

Validated on 10 Apr 2026 • Last edited on 15 Apr 2026

DigitalOcean Droplets are Linux-based virtual machines (VMs) that run on top of virtualized hardware. Each Droplet you create is a new server you can use, either standalone or as part of a larger, cloud-based infrastructure.

Create a Droplet in the Control Panel

The Droplet create page is where you choose your Droplet’s configuration, like its operating system, how much memory it has, and which features (like backups or monitoring) to enable. The most popular defaults are pre-selected, so you can scroll to the bottom of the page and create a Droplet immediately, or you can customize any of the options in each section.

To access the DigitalOcean Control Panel and create a Droplet, you need a DigitalOcean account. You can create one from the DigitalOcean new account registration page if you don’t already have one.

After you log in to the control panel, click the green Create button in the top right to open the create menu. The menu lists many resource types, including Droplets and GPU Droplets under compute, plus Kubernetes, databases, storage, networking, AI products, and other options.

Control panel with the Create menu open, listing GPU Droplets, Droplets, Agents, Serverless Inference, Knowledge Bases, Kubernetes, and other create actions.

In the create menu, click Droplets to open the Droplet create page. If you don’t have any Droplets, the Resources tab displays a large, blue Get Started with a Droplet button, which takes you to the same Droplet create page.

Choose Region

In the Choose Region section, select the region where you want to create your Droplet.

A good default is selected for you, but for the best performance and minimal latency, choose the datacenter nearest to you and your users. You can also make a decision based on which products and features are available in which regions.

Create Droplets page with Choose a datacenter region dropdown, selected region summary, and default VPC network for that region.

The region selector can hide or disable options that are incompatible with your selected configuration, often with a short explanation. For example, if you add a block storage volume to your configuration, you cannot create your Droplet in a datacenter that doesn’t support volumes.

This section also lists the default VPC network for the Droplet. The VPC network enables an additional networking interface that can only be accessed by other Droplets within the same datacenter. This keeps traffic between Droplets and other applicable resources from being routed outside the datacenter over the public internet.

Choose an image

In the Choose an image section, you choose the image to use for your Droplet:

Choose an image section with OS, Marketplace, and Custom images tabs, distribution shortcuts, Show all OS images, and version selector.

Initially, you can choose from four categories of images:

  • OS includes basic Unix-like images with no additional software (like Ubuntu, Fedora, and Debian).

  • Marketplace images include pre-configured applications, like Docker, WordPress, or LAMP, to help simplify getting started.

    Some Marketplace images, like WordPress, let you add a managed database cluster during creation. Connection credentials for the database cluster are available in the control panel, in a file on the Droplet (/root/.digitalocean_dbaas_credentials, and MongoDB certificates at /root/dbaas_ca_cert.crt), and are exported as environment variables on the Droplet from /etc/environment.

  • Custom images are Unix-like images that you create and upload to your DigitalOcean team.

Once you start using Droplets, you can make backups and take snapshots of them. On the Droplet creation page, tabs for Backups and Snapshots list the backups and snapshots you’ve taken, if any. You can choose those images as the foundation to create new Droplets.

  • Snapshots are on-demand Droplet and volume images. They’re useful to manually back up or reproducibly create Droplets.

  • Backups are automatic system-level backups taken weekly, daily, or multiple times a day. You can use backups to rebuild an existing Droplet. We retain weekly backups for four weeks, and daily backups for seven days. You can customize how long we retain usage-based backups for.

Choose Size

In the Choose a Droplet Plan section, you choose the amount of RAM, storage space, and CPU cores for your Droplet. Plans are grouped under SHARED CPU (including Basic) and DEDICATED CPU (General Purpose, CPU-Optimized, Memory-Optimized, and Storage-Optimized). For Basic plans you also pick Regular, Premium Intel, or Premium AMD disk and CPU options where available.

Choose a Droplet Plan section with shared and dedicated CPU groups and plan cards.

There are five types of plans:

  • Basic Droplets, a flexible option best for most use cases, like website hosting, staging environments and low intensity compute needs.

  • General Purpose Performance Droplets, a robust option suitable for a wide variety of mainstream, production applications that require a higher ratio of memory to CPU.

  • CPU-Optimized Performance Droplets, best for CPU intensive tasks and projects that require predictable performance or rely on CPU more than RAM or I/O, like batch processing large data sets, large builds, and video encoding. You can also choose between Regular and Premium Intel CPUs. Premium CPU plans come with some of our most modern Intel CPUs, NVMe SSDs, and higher network throughput speeds.

  • Memory-Optimized Performance Droplets, best for resource-intensive business applications, like high-performance SQL or NoSQL databases, large in-memory caches and indexes, real-time big data processing, and applications with large JVM requirements.

  • Storage-Optimized, best for large NoSQL databases (like MongoDB and Elasticsearch), time series databases, and other data warehouses.

For each plan, you can choose Regular and Premium CPUs. Premium CPU plans come with some of our most modern Intel or AMD CPUs and NVMe SSDs, as well as higher bandwidth throughput.

See How To Choose a Droplet Plan for an in-depth guide to choosing a Droplet plan.

Note
For Droplets with less than 3 GB of RAM, we recommend using a 32-bit operating system. Processes require more memory on 64-bit architectures, and on servers with a limited quantity of RAM, any performance benefits from a 64-bit OS are offset by having less memory available for buffers and caching.

Additional Storage

In the Additional Storage section, you can create and attach additional DigitalOcean Volumes Block Storage volumes to your Droplet. When you click Add Volume, you can specify the details of the volume you want to create:

Volumes Block Storage section with Add Volume, create new or attach existing volume, size presets, and format and mount options.

Volumes are independent resources that can be moved from one Droplet to another within the same datacenter. Attached volumes function like locally connected storage drives, meaning you can manage your storage with familiar tools and techniques.

Enable Backups

You can turn on automatic backups for the Droplet. This adds a cost to the Droplet’s price depending on the frequency of the backups.

In the recommended options section, check Enable automated backups.

Here, you can select between basic plans (Plans) and usage-based plans (Usage-Based):

  • Basic plans are divided into Weekly Backups and Daily Backups, and are billed as a percentage of the Droplet’s monthly cost.

  • Usage-based plans are customizable, and are billed at a flat rate per GiB of a backup’s restorable file size. You can configure the Backup Frequency, which refers to how often backups happen (from weekly to every six hours), and Backup Retention, which refers to how long you retain them.

The backup window is a 4-hour window of time during which the Droplet automatically initiates a new backup. In the Backup Window section, use the drop-down menus to customize your Droplet’s backup window by choosing a time of day and, for weekly backups, a day of the week.

If you’re using the API to create a Droplet, you can enable backups by adding "backups": true to the request body.

Choose Authentication Method

In the Choose Authentication Method section, you choose the method you want to use to log in to your Droplet. Choose Authentication Method with SSH Key and Password cards, Add a public SSH key panel, and Add SSH Key link in the guidance banner. There are two options:

  • SSH key, which provides more security than a password.

  • Password, which allows you to create your own password for the new Droplet.

If you choose SSH key, use Add SSH Key (or the team SSH key list when keys already exist) to attach at least one public key to the Droplet. You can add keys from this page or manage team SSH keys from Settings in the control panel.

Once you create and upload an SSH key to your DigitalOcean team, it remains available for you to add to any new Droplets you provision in the future.

Networking, monitoring, and additional options

Above Finalize Details, the Create Droplet page groups Networking, Monitoring, and Additional Options. Expand Additional Options if it is collapsed.

Create Droplet page with Networking including Enable IPv6, Monitoring with Improved Metrics and monitoring, AI Droplet troubleshooting agent preview, and Additional Options including Startup scripts and Managed Database.
  • Networking includes Enable IPv6 (free) for IPv6 access. A private IPv4 address is always assigned for traffic within the same VPC.

  • Monitoring includes Improved Metrics and monitoring (free). When enabled, it installs the DigitalOcean metrics agent for DigitalOcean Monitoring, expanded system metrics in the control panel, performance tracking, and alert policies. An optional AI Droplet troubleshooting agent card may appear as a preview feature with its own terms.

  • Additional Options includes Startup scripts (free), where you supply user data: a cloud-config file, a Bash script, or other data for cloud-init on first boot. Other cards can include paid add-ons such as Managed Database. Enable only what you need. Pricing appears on each card when applicable.

Finalize Details

In the Finalize Details section, you specify the quantity, name, tags, and project for the Droplet you’re creating.

Finalize Details with quantity 2, hostname fields example and example-02 with remove control on the additional row, Finalize with Select a project, and Tags with webserver chip, clear all link, and Enter tag name field.

There are four subsections for these options:

  • Quantity, where you choose how many Droplets to create with this configuration. When the plan allows it, adjust the number with the plus (+) and minus (-) controls. Some configurations only allow creating one Droplet at a time; the control panel shows that limit in this section.

  • Hostname, where you give each Droplet a name which is used in the control panel and as the server’s hostname. When quantity is greater than one, you get a field for each Droplet (for example example, example-02, example-03). Default names are provided based on the options you selected, but you can modify them to suit your needs.

    Note
    Using an FQDN (fully qualified domain name) (for example, droplet1.example.com) as the Droplet’s name automatically generates PTR records for your Droplet based on that name. This also applies if you rename a Droplet after creation.
  • Tags, where you can add tags to organize and relate Droplets.

  • Project, where you can assign the Droplet to a project.

Once you have selected your options, click Create Droplet. A progress bar displays how close your Droplet is to being ready.

Droplets list with multiple rows and a provisioning progress bar on Droplets that are still being created.

You can also click Create via command line to get a command that you can copy and paste onto the command line to create Droplets with the configuration you selected. You can choose from two libraries: cURL and doctl, the official DigitalOcean command line utility.

Once the Droplet is fully set up, the control panel displays its IP address.

Droplets list row for a new Droplet with public IP address filled in and provisioning complete.

Once you see the IP address, you can log in to your Droplet.

To open a Droplet’s detail page, click its name in the Droplets list.

Create a Private Droplet

Private Droplets use VPC-only networking with no direct public connectivity. They integrate automatically with VPC NAT gateway, VPC peering, and VPC private DNS. Private Droplets are in public preview. You can create Private Droplets using the API, doctl, or Terraform.

For details and limitations, see Private Droplets.

Create a Droplet Using Automation

You can also create Droplets using the DigitalOcean API or the DigitalOcean’s official CLI, doctl.

Create a Droplet Using the CLI

When creating a Droplet via CLI, you need to provide values for the --region, --size, and --image flags, which specify the desired datacenter, machine size, and operating system for your new Droplet. Use doctl compute region list, doctl compute size list, and doctl compute image list-distribution, respectively, to get a list of available values.

How to Create a New Droplet Using the DigitalOcean CLI
  1. Install doctl, the official DigitalOcean CLI.
  2. Create a personal access token and save it for use with doctl.
  3. Use the token to grant doctl access to your DigitalOcean account.
    doctl auth init
  4. Finally, run doctl compute droplet create. Basic usage looks like this, but you can read the usage docs for more details:
    doctl compute droplet create <droplet-name>... [flags]
    The following example creates a Droplet named example-droplet with a two vCPUs, two GiB of RAM, and 20 GBs of disk space. The Droplet is created in the nyc1 region and is based on the ubuntu-20-04-x64 image. Additionally, the command uses the --user-data flag to run a Bash script the first time the Droplet boots up:

doctl compute droplet create example-droplet –size s-2vcpu-2gb –image ubuntu-20-04-x64 –region nyc1 –user-data $’#!/bin/bash\n touch /root/example.txt; sudo apt update;sudo snap install doctl'

Please note: In Windows Powershell, the example command would be the following instead:

```shell
doctl compute droplet create example-droplet --size s-2vcpu-2gb --image ubuntu-20-04-x64 --region nyc1  --user-data "#!/bin/bash`n touch /root/example.txt; sudo apt update;sudo snap install doctl"
```

Create a Droplet Using the API

When creating a Droplet via API you need to provide values for region, size, and image, which specify the desired datacenter, machine size, and operating system for your new Droplet. Use /v2/regions, /v2/sizes, and /v2/images, respectively, to get a list of available values.

How to Create a New Droplet Using the DigitalOcean API
  1. Create a personal access token and save it for use with the API.
  2. Send a POST request to https://api.digitalocean.com/v2/droplets.

cURL

Using cURL:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  -d '{"name":"example.com","region":"nyc3","size":"s-1vcpu-1gb","image":"ubuntu-20-04-x64","ssh_keys":[289794,"3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45"],"backups":true,"ipv6":true,"monitoring":true,"tags":["env:prod","web"],"user_data":"#cloud-config\nruncmd:\n  - touch /test.txt\n","vpc_uuid":"760e09ef-dc84-11e8-981e-3cfdfeaae000"}' \
  "https://api.digitalocean.com/v2/droplets"

Go

Using Godo, the official DigitalOcean API client for Go:

import (
    "context"
    "os"

    "github.com/digitalocean/godo"
)

func main() {
    token := os.Getenv("DIGITALOCEAN_TOKEN")

    client := godo.NewFromToken(token)
    ctx := context.TODO()

    createRequest := &godo.DropletCreateRequest{
        Name:   "example.com",
        Region: "nyc3",
        Size:   "s-1vcpu-1gb",
        Image: godo.DropletCreateImage{
            Slug: "ubuntu-20-04-x64",
        },
        SSHKeys: []godo.DropletCreateSSHKey{
            godo.DropletCreateSSHKey{ID: 289794},
            godo.DropletCreateSSHKey{Fingerprint: "3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45"}
        },
        Backups: true,
        IPv6: true,
        Monitoring: true,
        Tags: []string{"env:prod","web"},
        UserData: "#cloud-config\nruncmd:\n  - touch /test.txt\n",
        VPCUUID: "760e09ef-dc84-11e8-981e-3cfdfeaae000",
    }

Ruby

Using DropletKit, the official DigitalOcean API client for Ruby:

require 'droplet_kit'
token = ENV['DIGITALOCEAN_TOKEN']
client = DropletKit::Client.new(access_token: token)

droplet = DropletKit::Droplet.new(
  name: 'example.com',
  region: 'nyc3',
  size: 's-1vcpu-1gb',
  image: 'ubuntu-20-04-x64',
  ssh_keys: [289794,"3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45"],
  backups: true,
  ipv6: true,
  monitoring: true,
  tags: ["env:prod","web"],
  user_data: "#cloud-config\nruncmd:\n  - touch /test.txt\n",
  vpc_uuid: "760e09ef-dc84-11e8-981e-3cfdfeaae000",
)
client.droplets.create(droplet)

Python

Using PyDo, the official DigitalOcean API client for Python:

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

req = {
  "name": "example.com",
  "region": "nyc3",
  "size": "s-1vcpu-1gb",
  "image": "ubuntu-20-04-x64",
  "ssh_keys": [
    289794,
    "3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45"
  ],
  "backups": True,
  "ipv6": True,
  "monitoring": True,
  "tags": [
    "env:prod",
    "web"
  ],
  "user_data": "#cloud-config\nruncmd:\n  - touch /test.txt\n",
  "vpc_uuid": "760e09ef-dc84-11e8-981e-3cfdfeaae000"
}

resp = client.droplets.create(body=req)

We can't find any results for your search.

Try using different keywords or simplifying your search terms.