title: "TICKET_051: Install Paperclip on Hetzner"
type: ticket
subtype: execution
purpose: "Deploy Paperclip agent orchestration platform on Hetzner as part of the Bus MCP Server stack."
Deploy Paperclip on Hetzner CPX32 as part of the Docker Compose stack. Paperclip is the orchestration system of record — it manages agent tasks, heartbeats, approvals, and audit logging.
paperclip.* toolsssh root@89.167.96.154
docker pull paperclipai/paperclip:latest
# If image doesn't exist, check docs for correct image name:
# https://docs.paperclip.dev/self-hosting
Paperclip is already defined in TICKET_049's docker-compose.yml:
paperclip:
image: paperclipai/paperclip:latest
environment:
PAPERCLIP_DEPLOYMENT_MODE: authenticated
PAPERCLIP_PUBLIC_URL: https://paperclip.struxio.ai
ports:
- "127.0.0.1:3100:3100"
docker compose logs paperclip
curl http://localhost:3100/health # or equivalent health endpoint
# Access Paperclip UI at https://paperclip.struxio.ai
# Create company: STRUXIO
# Create API key for Bus MCP Server (service token)
# Save the token — it becomes BUS_PAPERCLIP_TOKEN in .env
Register agents in Paperclip that map to our brain/worker topology:
B0_MASTER — Brain 0 (architecture, QA)HETZNER_LEAD — Lead agent on HetznerHETZNER_WORKER_1 through HETZNER_WORKER_4 — Worker pool# Test with the API key created in Step 4
curl -H "Authorization: Bearer <PAPERCLIP_TOKEN>" \
https://paperclip.struxio.ai/api/companies/<COMPANY_ID>/issues
docker ps | grep paperclipdocker compose stop paperclip
# Bus messaging continues to work without Paperclip
STRUXIO.ai // Confidential & Proprietary // © 2026