Docs
grovs.io Start for free

DigitalOcean

Run the full Grovs stack on a DigitalOcean Droplet, installed by cloud-init on first boot.

Open DigitalOcean Console (opens in a new tab)

When to use

You want one Droplet running the whole stack. Use a Droplet for this full-stack installation.

Prerequisites

The shared VM prerequisites: fresh Ubuntu 24.04 x86_64, 4 vCPU, 8 GB RAM, 80 GB SSD, public IPv4, SSH key, domain. DigitalOcean bills you for the server, storage and traffic.

1. Prepare DNS and firewall

Create a Cloud Firewall that allows inbound TCP 80/443 from the internet and TCP 22 only from your public IP. Allow outbound traffic. Plan the DNS records; you point them at the Droplet's IPv4 once it exists.

2. Create the server

  1. Generate the cloud-init file on your workstation.
  2. Create a Droplet with the plain Ubuntu 24.04 image and the resources above.
  3. Add your SSH public key. Under Additional Options → Startup scripts, paste the complete generated file, including #cloud-config.
  4. Create the Droplet and attach the Cloud Firewall.

See DigitalOcean's user-data instructions.

3. Install Grovs

Cloud-init installs Docker and the stack on first boot. Connect as root to the Droplet's public IPv4 and point the DNS records at it.

4. Deploy and verify

Follow the shared verify steps.

Upgrades

See the shared VM upgrade notes.

Gotchas

If startup fails, read /var/log/cloud-init-output.log, fix the error, then run sudo bash /root/grovs-bootstrap.sh again. More in the shared gotchas.

Last updated 2026-10-26
Was this page helpful?