Integrations › Code and deploys › DigitalOcean

Turn your DigitalOcean into build-in-public posts

DigitalOcean is a cloud host; its App Platform runs a maker's web apps, static sites and workers and deploys them from Git. FoxPlug reads what you did there, scores it, and tells you what to fix, what to say and what to skip. Nothing posts until you approve it.

Built, not yet read live

1What FoxPlug reads from DigitalOcean

These are the exact things it reads, and nothing else.

WhatThe details it takes
Your App Platform appsone list request for up to 20 apps, of which the first 8 are read: app id, the app's name from its spec (the id if there is none), created time and live URL
Custom domains per appthe domain names listed in the app's spec, taken from the same app record, so there is no separate domain request
Recent deployments per appup to 10 per app: deployment id, phase, updated or created time, and the first 120 characters of the deployment's cause text. Only finished phases are kept (see limits)
A failing-app summaryan app whose newest finished deployment failed in the last 7 days, with how many failed in a row, since when, its live URL and the cause text. This is stored on the connection for the daily brief and nothing else is kept from the apps

2Moments it finds, and what each becomes

A moment is one thing that happened in DigitalOcean worth a second look. Each one is scored, then it becomes a post, a changelog entry, a thing to fix or an idea to email, or it is skipped.

Post

A deployment goes live

The moment is titled like this: Deployed acme-web

Your app called acme-web has a deployment whose phase is ACTIVE (or SUPERSEDED, meaning a newer one replaced it) and which finished after the last check. FoxPlug makes the moment 'Deployed acme-web' with the description 'Shipped acme-web on DigitalOcean' followed by the deployment's cause text when there is one.

Fix first

A deployment fails

The moment is titled like this: Your acme-web deploy is failing on DigitalOcean. Fix this first.

The newest finished deployment of acme-web is in the ERROR phase and that was within the last 7 days. The first card in Today says 'Your acme-web deploy is failing on DigitalOcean. Fix this first.' with how many failed in a row, since when and the cause text. A later good deployment clears it.

Post

A new app is created

The moment is titled like this: Launched a new app: acme-web

An app created in the last 14 days, and after the last check, becomes 'Launched a new app: acme-web' with the description 'A new app went up on DigitalOcean: acme-web.'

Post

A custom domain is on a new app

The moment is titled like this: Added the domain acme.com

While the app is less than 30 days old, each domain in its spec becomes 'Added the domain acme.com' with 'acme.com now points at acme-web on DigitalOcean.' An older app's domains are never announced.

3How the brain uses it

The rules below are the ones that apply to DigitalOcean. The same rules, with worked examples, are on the brain page.

4Set up DigitalOcean in a few steps

Access: personal access token. What to give it: Personal access token. The tile says 'personal access token with read access only'; the guide says to give it read access only if DigitalOcean offers the choice. FoxPlug makes read requests either way.

  1. In DigitalOcean, open API in the left menu and then Tokens (the link in the guide goes there).
  2. Generate a new token named FoxPlug, give it read access only if DigitalOcean offers the choice, and copy it.
  3. Paste it into the DigitalOcean box in FoxPlug. Keep it private; FoxPlug only reads and never writes.

5Limits worth knowing

Where it stops, so nothing surprises you.

6What it never reads

Read only means read only, and the list below is what the code leaves alone.

  • Environment variables, log lines and databases
  • DNS records: the only domain data is the list of names in the app spec
  • Deployments that are still building or deploying, and cancelled ones: they are not counted as a result either way
  • Anything written back: the two requests are plain reads with an Authorization header only, no body, no write

7How DigitalOcean differs from the tools next to it

DigitalOcean gives one record per app with its name, created time, live URL and domains inside the app's spec, then a list of deployments with a phase. Unlike Render, domains need no second request. Unlike Railway, which has one status word per deployment from a GraphQL answer, DigitalOcean counts ACTIVE and SUPERSEDED as success and only ERROR as failure. The commit message is not read: the only text kept from a deployment is its cause.

8Questions

Can FoxPlug tell me when my DigitalOcean deploy fails?

Yes, when you press Check for what's new. An app whose newest finished deployment is in the ERROR phase, within the last 7 days, becomes the first card in your Today brief. A later good deployment clears it. This has not been tried against a real DigitalOcean account.

Does it read my environment variables, logs or databases?

No. It reads your App Platform apps and their deployments only.

Does a cancelled or still-building deployment count as a failure?

No. Only the ERROR phase counts as a failure. Cancelled and in-progress deployments are ignored.

Is the token read-only?

The connect steps say to give it read access only if DigitalOcean offers the choice. FoxPlug only makes read requests either way.

Does it cover Droplets or other DigitalOcean products?

No. The reader asks for App Platform apps and their deployments, nothing else.

FoxPlug reads this tool only when you press Check for what's new, and only to read. Plans and limits are on the pricing page. Questions: support.