Learn how to create a DigitalOcean Droplet, configure your server, and connect it to Peon for simple, self-hosted application deployment.
Peon deploys to servers you own. You bring a Linux VPS; Peon connects over SSH, installs Docker and a reverse proxy, then runs your apps. This guide will help you create a DigitalOcean Droplet and attach it to Peon until the server is Ready and the Gateway is active.
What you’ll get

After this, you can deploy from Marketplace or New Service.
Prerequisites
A Peon account and workspace (OWNER or ADMIN) at https://app.peon.sh
A DigitalOcean account
Browser access to DigitalOcean Control Panel and Peon
Recommended size

1 GB often runs out of memory (OOM) during Nixpacks builds or multi-image Compose pulls. Start small only if you plan to resize.
Step-by-step guide
Step 1 — Generate an SSH key locally (then add it to Peon and DigitalOcean)
Create one ed25519 keypair on your machine. You will:
paste the public key into DigitalOcean (Droplet create)
paste the private (and public) key into Peon ( Keys & Tokens )
Same pair on both sides. Do this before creating the Droplet so DigitalOcean can inject the public key on first boot.
1a — Generate on your computer
Open Terminal (macOS/Linux) or Git Bash (Windows):
ssh-keygen -t ed25519 -C "peon-do" -f ~/.ssh/id_ed25519_peon
File location: the -f path above (do not overwrite an existing GitHub key like id_ed25519).
Passphrase: press Enter twice (empty). Peon’s Connect job cannot type a passphrase.
You now have:
cat ~/.ssh/id_ed25519_peon.pub
Copy the whole line starting with ssh-ed25519.
1b — Add the key to Peon
Peon → Keys & Tokens .
Add SSH key .
Click Paste existing (not Generate new ).
Name: e.g. do-blr-ssh.
Private key: paste the private file contents.
Public key (optional): paste the .pub line.
Create .
Show the public key:
cat ~/.ssh/id_ed25519_peon.pub
Copy the whole line starting with ssh-ed25519.
1b — Add the key to Peon
Peon → Keys & Tokens .
Add SSH key .
Click Paste existing (not Generate new ).
Name: e.g. do-blr-ssh.
Private key: paste the private file contents.
Public key (optional): paste the .pub line.
Create .

1c — Add the same public key to DigitalOcean
Keep the .pub line ready for Step 4. Under Choose Authentication Method , use SSH key → Add SSH Key → paste the public line only.
Alternative — generate inside Peon
If you do not want a local key: Servers → Add server → Generate new SSH key → copy the public key into DigitalOcean.
Step 2 — Open the Droplet create page
Log in to DigitalOcean, then open: https://cloud.digitalocean.com/droplets/new?i=ubuntu-24-04-x64®ion=blr1&size=s-1vcpu-1gb
The link pre-fills:

Step 3 — Confirm region, image, and plan
Choose Region: Bangalore (blr1) or the datacenter nearest you and your users.
Choose an image: OS → Ubuntu → 24.04 (LTS) x64 . Avoid Marketplace “Solutions” images; Peon installs Docker itself.
Choose a Droplet Plan: Basic / shared CPU. Bump RAM if you are not just testing.
Skip extra volumes unless you already know you need them.
Backups: optional. Useful for production; adds cost.
Keep Public IPv4 enabled. Peon needs a public IP (or a hostname that resolves to one).
Step 4 — Add the public SSH key to DigitalOcean (required)
Under Choose Authentication Method :
Select SSH key (not password).
Add SSH Key .
Paste the public key from Step 1 (id_ed25519_ peon.pub) — not the private key.
Name it (e.g. peon) → add it.
Ensure that key is selected for this Droplet.
Step 5 — Networking and hostname
Networking: Public IPv4 on. IPv6 optional.
Monitoring: DigitalOcean metrics are optional; Peon installs its own agent on Connect.
Finalize Details: Quantity 1 , hostname e.g. peon-blr (used in the DO UI and as the machine hostname).
Click Create Droplet .
Wait until provisioning finishes and the public IPv4 appears. Copy it.
Open Networking on the Droplet if you use a Cloud Firewall. Allow:
Step 6 — Add the Droplet in Peon
Peon → Servers → Add server .
Fill in the fields below.
Host key fingerprint: leave blank unless you want to pin it now.
Add server .
Step 7 — Connect until Ready
Open the new server.
Click Connect (or Reconnect ).
Watch Activity . Validate does: SSH → Docker setup → peon-ping-pong agent.
Status on the server card:
Step 8 — Turn on the Gateway
Public domains and HTTPS go through Peon’s reverse proxy.
Same server → General : Gateway type is Traefik or Caddy (not None).
Gateway tab → Turn on if status is off.
Confirm 80 and 443 are open (Step 5).
If the Droplet already exists (no key at create time)
Use the public line from ~/.ssh/id_ed25519_ peon.pub (or generate as in Step 1).
SSH to the Droplet with whatever access you have.
As root , append the public key (see commands below).
Continue from Step 6 (select the same key in Peon).
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo 'ssh-ed25519 AAAA… peon-do' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Droplet vs other hosts
Troubleshooting
Summary
Generate id_ed25519_peon locally → paste private + public into Peon ( Paste existing ) → paste public into DigitalOcean
Create a Droplet (Ubuntu 24.04, region, size, that SSH key , public IPv4) at the starter link
Copy the Droplet IP
Peon → Add server (root, port 22, Traefik, the key from Step 1b) → Connect until Ready
Gateway → Turn on
Deploy a service and point DNS at the IP








Top comments (0)