Automate your infrastructure

From CLIs to dev tool integrations, we make sure you can interact with your infrastructure the way you want to.

Get Started

DigitalOcean Tools

The right tools for the job

CLI

Our web-based control panel provides a convenient, point-and-click interface for managing Droplets. But for those times when you want to use the command line, we've got doctl. Our open source doctl utility is a helpful tool for managing Droplets and other resources from the command line. It can greatly reduce the amount of manual interaction with web-based interfaces needed for daily development and administrative tasks.

Explore doctl

API

Manage your Droplets with greater flexibility using conventional HTTP requests. Take any number of actions or requests with curl commands or use our official API wrappers, including creating multiple Droplets, resizing, rebooting, enabling backups, and more.

API Documentation
droplet = DropletKit::Droplet.new(
  names: ['sub-01.example.com', 'sub-02.example.com'],
  region: 'nyc3',
  size: '1gb',
  image: 'ubuntu-14-04-x64',
  ipv6: true,
  tags: ["web"]
)
client.droplets.create_multiple(droplet)
curl -H "Content-Type: application/json" \
     -H "Authorization: Bearer b7d03a6947b217efb6f3ec3bd3504582" \
     -d '{"names":["sub-01.example.com","sub-02.example.com"],"region":"nyc3","size":"1gb","image":"ubuntu-14-04-x64"}' \
     -X POST "https://api.digitalocean.com/v2/droplets"
createRequest := &godo.DropletMultiCreateRequest{
  Names: []string{"sub-01.example.com","sub-02.example.com"},
  Region: "nyc3",
  Size: "1gb",
  Image: godo.DropletCreateImage{
  Slug: "ubuntu-14-04-x64",
  },
  IPv6: true,
  Tags: []string{"web"},
}

droplet, _, err := client.Droplets.CreateMultiple(createRequest)
doctl compute droplet create "sub-01.example.com" "sub-02.example.com" \
--region nyc3 --size 1gb --image ubuntu-14-04-x64 --enable-ipv6

# Learn more about doctl

Work seamlessly with your team

Enable unified collaboration for free on all DigitalOcean accounts. Manage and grow your infrastructure with distinct user roles, a single invoice, and no shared credentials.

  • One account, multiple teams
  • Security features for your team
  • Billing Permissions
Learn More

Integrations

DigitalOcean integrates with many of the dev tools you already use.

  • Chef
  • Ansible
  • Puppet
  • Mesosphere
  • Rancher
  • SaltStack
  • Kubernetes
  • Treat your infrastructure like code with Terraform. Create, manage, and manipulate resources including physical machines, VMs, network switches, containers, etc.

    resource "digitalocean_tag" "web" {
      name = "web"
    }
    
    resource "digitalocean_droplet" "web" {
      count = 2
      image = "ubuntu-14-04-x64"
      name = "sub-${count.index + 1}.example.com"
      region = "nyc3"
      size = "1gb"
      ipv6 = true
      tags = ["${digitalocean_tag.web.id}"]
    }
    
    Explore Hashicorp Terraform Integration
  • Create a DC/OS cluster on DigitalOcean using Terraform.

    DC/OS (the datacenter operating system) is an open-source, distributed operating system based on the Apache Mesos distributed systems kernel. DC/OS manages multiple machines—in the cloud or on-site—from a single interface; it also deploys containers, distributed services, and legacy applications into those machines and provides networking, service discovery, and resource management to keep the services running and communicating with each other.

    Explore Mesosphere DC/OS Integration
  • Easily integrate our Monitoring service with your Slack account via OAuth when you create your alert policy. Instantly receive notifications in your Slack channel whenever a new alert is triggered.

    Explore Monitoring with Slack