DEV Community

Prince
Prince

Posted on Originally published at peon.sh

Deploy Peon on a DigitalOcean Droplet (self-hosted Docker PaaS)

Peon is an open-source, self-hostable deployment platform. Think Vercel or Heroku workflows on a server you control: Git deploys, Docker Compose, databases, workspaces, and RBAC.

This guide walks through a clean DigitalOcean droplet setup. Same pattern works on Hetzner, Vultr, and Contabo.

What you will build

A DigitalOcean Ubuntu droplet running Peon so you can connect the server over SSH and deploy apps from Git.

Prerequisites

  • DigitalOcean account
  • SSH key added to DigitalOcean
  • Domain name (optional, recommended for TLS)
  • Basic SSH comfort

1. Create the droplet

  1. Create an Ubuntu 24.04 LTS droplet (2 GB RAM minimum; 4 GB preferred).
  2. Choose your SSH key.
  3. Note the public IPv4 address.

2. Point DNS (optional)

Create an A record for peon.example.com to the droplet IP.

3. Harden basics

ssh root@YOUR_DROPLET_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Enter fullscreen mode Exit fullscreen mode

4. Install Docker

curl -fsSL https://get.docker.com | sh
docker --version
Enter fullscreen mode Exit fullscreen mode

5. Install Peon

Follow current official docs:

Typical flow: clone repo, configure .env secrets, start Postgres/queue, migrate, run app + worker.

6. Open Peon and add the droplet

Add the server over SSH, create a workspace/project, deploy a sample Git repo.

7. Verify

App URL responds, deploy logs clean, optional second project for RBAC.

Why Peon vs Coolify / Dokploy

All three are strong self-hosted PaaS options. Peon focuses on workspace/project tenancy, audit logs, and MCP hooks for AI agents, while staying MIT and self-host free.

Top comments (0)