{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreibkpasi7vbhyjlqgxxxkucknbq3hrpycbfgzmm7him62jgelndwci",
    "uri": "at://did:plc:eza3tsy3stk7a3w2ajez3sca/app.bsky.feed.post/3mlv35atut2f2"
  },
  "description": "Deploy a fully autonomous AI agent company on DigitalOcean with Paperclip. No manual config, no fuss - just Docker, Caddy, and your agents.",
  "path": "/stop-hiring-start-orchestrating-running-an-ai-agent-company-with-paperclip-on-digitalocean/",
  "publishedAt": "2026-05-15T09:59:53.000Z",
  "site": "https://alphasec.io",
  "tags": [
    "Paperclip",
    "open-source",
    "companies.sh",
    "DigitalOcean",
    "this link",
    "doctl",
    "GitHub",
    "Railway"
  ],
  "textContent": "The idea of a one-person company isn't new. What's new though is the idea of a one-person company where the person isn't doing most of the actual work. AI agents are. You set the direction, define the roles and budgets, and the agents handle the execution. Traditional human tasks - writing, researching, analysing, reporting - are executed autonomously by agents like OpenClaw, Claude, Hermes, and others. And tools like Paperclip are making it easy to get started.\n\n### What is Paperclip?\n\nPaperclip describes itself as \"the human control plane for AI labor.\" You define a company - give it a mission, a budget, a set of agent personas - and Paperclip runs it. Agents get heartbeats on a schedule, pick up open tasks, call their assigned large language model (LLM), and post results back as issue comments. It's effectively a project management tool for teams, where every team member is an AI agent.\n\nPaperclip started as an experiment in running fully autonomous agentic operations at scale i.e. \"open-source orchestration for zero-human companies\". It's evolving into something broader: a full agent orchestration platform for building companies that run on autonomous agents rather than headcount. The pivot is still in motion, but the core idea is already compelling enough to deploy and explore.\n\nPaperclip is an open-source agent orchestration platform\n\nThe unit of organisation is a **company**. Inside a company you have **agents** (personas with roles, adapters, and heartbeat schedules), **projects** , and **issues** (tasks). An agent wakes up when its heartbeat fires, looks at what's assigned to it, does the work, and goes back to sleep. The idea of a pre-built company is quite powerful, and the ecosystem is slowly growing around companies.sh - pre-built company definitions you can import into Paperclip with a single command. Imagine an external penetration testing team, a content agency, or a software development shop, fully staffed with AI agents, importable in seconds.\n\nTo make it concrete, here's what a lean **content agency** could looks like:\n\nAgent | Role | Heartbeat\n---|---|---\nEditor in Chief | Reviews briefs, assigns stories, sets editorial direction | Daily\nResearch Analyst | Monitors sources, surfaces stories, drafts research notes | Every 6h\nWriter | Drafts posts from research notes and briefs | On demand\nSEO Analyst | Reviews drafts for keyword coverage and structure | On demand\nPublisher | Formats and schedules final output | Daily\n\nEvery agent is backed by an LLM of your choice. The Editor in Chief might run on Claude for judgment-heavy decisions; the Research Analyst on Gemini Flash for speed and cost. Each agent has its own adapter, its own system prompt, its own task queue. Paperclip keeps them coordinated.\n\n### Deploying Paperclip on DigitalOcean\n\nThis section covers the deployment of Paperclip on a DigitalOcean droplet with Docker, embedded PostgreSQL, and Caddy for automatic HTTPS. A single script handles everything from provisioning to first login. If you are new to DigitalOcean, you can sign up with this link for $200 in free credits.\n\n**Prerequisites:** doctl installed and authenticated, an SSH key uploaded to your DigitalOcean account, a valid API key from at least one LLM provider, and a domain or subdomain pointed at your droplet.\n\nFirst, run the following commands at your terminal post authentication.\n\n\n    git clone https://github.com/alphasecio/paperclip.git\n    cd paperclip/digitalocean\n    chmod +x deploy.sh\n    ./deploy.sh\n\n\nThe script prompts for three things - domain name, LLM provider, API key - then takes over. It creates the droplet, waits for SSH, installs Docker, builds the image, starts Paperclip and Caddy, and polls until the admin invite URL is ready. The whole process takes around five minutes.\n\nPaperclip runs from a custom `Dockerfile` that wraps the official Paperclip image. An `entrypoint.sh` script handles first-boot configuration — writing `config.json` from environment variables, then handing off to `pnpm paperclipai run`. No interactive setup, no manual config editing.\n\nPaperclip uses embedded PostgreSQL by default - no separate database service needed. Set `DATABASE_URL` to switch to an external Postgres instance; the entrypoint detects it and adjusts the config automatically. The script provisions a 2-vCPU, 4GB RAM Droplet running Ubuntu 24.04 — enough headroom for Paperclip, its embedded database, and a handful of active agents.\n\nCaddy runs alongside as a Docker service and handles Let's Encrypt certificate provisioning automatically. It only activates when `CADDY_DOMAIN` is set; skip the domain prompt and Paperclip is accessible directly on port 3100 instead.\n\n### Post-Deployment Setup and Connection\n\nWhen the script finishes, it prints the admin invite URL to the terminal:\n\n\n    =========================================\n      Paperclip deployed\n    =========================================\n      URL:        https://paperclip.yourdomain.com\n      Invite URL: https://paperclip.yourdomain.com/invite/pcp_bootstrap_...\n    =========================================\n\n\nOpen the invite URL, create your admin account through Paperclip's native setup screen, then lock down registration (recommended for single-user deployments):\n\n\n    ssh root@<your-droplet-ip> 'echo PAPERCLIP_AUTH_DISABLE_SIGN_UP=true >> /opt/paperclip/.env && cd /opt/paperclip && docker compose up -d'\n\n\nPaperclip dashboard\n\nA couple of adapters work out of the box with environment variables — no interactive login required.\n\nProvider | Adapter in Paperclip | Environment Variable\n---|---|---\nAnthropic | `claude_local` | `ANTHROPIC_API_KEY`\nOpenAI | `opencode_local` | `OPENAI_API_KEY`\nGemini | `opencode_local` | `GEMINI_API_KEY`\n\nFor Gemini, select `opencode_local` as the adapter and choose your model (e.g. `gemini-2.5-flash`) in the agent settings. The `gemini_local` adapter requires interactive OAuth and won't work headless.\n\nAll configuration lives in `/opt/paperclip/.env` on the droplet. Edit and run `docker compose up -d` to apply changes.\n\n### What's Next\n\nThe deployment covered here is just the start — Paperclip running cleanly, agents wired up, ready to receive tasks. The real interesting (and fun) part lies in what you build on top of it. The GitHub repo also includes a `railway/` folder for a one-click deployment on Railway if you'd prefer a serverless option. I'm fascinated by the companies.sh concept, and I'm exploring a purpose-built agent company - a threat intelligence team that monitors security advisories, extracts IOCs and TTPs, and generates detection rules - as a follow up. If that sounds exciting, it'll be next.",
  "title": "Stop Hiring, Start Orchestrating: Running an AI Agent Company with Paperclip on DigitalOcean",
  "updatedAt": "2026-05-16T08:42:59.439Z"
}