Skip to content

Instantly share code, notes, and snippets.

@bdougie
Created April 8, 2026 04:35
Show Gist options
  • Select an option

  • Save bdougie/b7c979437372011a4785c5a01720b2a2 to your computer and use it in GitHub Desktop.

Select an option

Save bdougie/b7c979437372011a4785c5a01720b2a2 to your computer and use it in GitHub Desktop.
OpenClaw on DigitalOcean + Clawchief Architecture Review

OpenClaw on DigitalOcean + Clawchief Review

A guide for setting up OpenClaw on DigitalOcean, plus an architectural review of clawchief — Ryan Carson's "Chief of Staff" starter kit.


Part 1: Clawchief Architecture Review

What is Clawchief?

Clawchief is an opinionated OpenClaw starter kit that turns your AI assistant into an executive assistant / chief of staff. It handles:

  • Email triage and replies (Gmail)
  • Calendar management (Google Calendar)
  • Task management (Todoist)
  • Business development outreach
  • Meeting note ingestion
  • Proactive Slack updates

The Good

Solid separation of concerns:

File Owns
priority-map.md WHO and WHAT matters (people, programs, urgency levels)
auto-resolver.md WHEN to act vs draft vs escalate
task-system-contract/SKILL.md Shared Todoist behavior contract across all skills
meeting-notes.md Meeting note ingestion policy
Helper scripts (ea_gmail.py, etc.) Stable command surface for Google Workspace

Smart task architecture:

  • Todoist is the single source of truth for live tasks (not markdown files)
  • Tasks map to "program sections" derived from priority-map.md
  • Owner assignments (ryan vs r2) flow through Todoist collaborators
  • Metadata keys enable idempotent upserts (no duplicate tasks)

Well-designed cron templates:

{
  "name": "Executive assistant sweep",
  "schedule": { "expr": "*/15 8-21 * * *" },
  "payload": {
    "message": "Executive assistant sweep. Use the existing executive-assistant skill..."
  }
}

Short trigger prompts + skill-based logic = deterministic, bounded runs.

The Concerns

Heavy dependency stack:

  • gws CLI authenticated for multiple Google accounts
  • Todoist Pro (for task assignments)
  • Slack (for proactive updates)
  • ~1000 lines of Python just for todoist_cli.py

Very personalized:

  • priority-map.md is 500+ lines of Ryan's family, companies, yacht club
  • Helper scripts assume his email addresses, calendar IDs, sheet IDs
  • You'd need to gut and rewrite most content

Resource requirements:

  • Multiple Python + gws processes during EA sweeps
  • 1GB droplet will struggle; 2GB recommended

Google-centric:

  • Meeting notes workflow assumes Gemini-generated Google Docs
  • No support for other meeting tools (Otter, Fireflies, etc.)

What to Cherry-Pick

Keep Skip
✅ Separation pattern (priority-map, auto-resolver, task-contract) ❌ Ryan's actual people/programs
✅ Cron template structure ❌ The gws dependency (unless you're deep in Google)
✅ Todoist as single task source ❌ Meeting notes workflow (unless using Gemini)
✅ Idempotent task upsert pattern ❌ Multi-account calendar complexity

Part 2: DigitalOcean Droplet Setup

Prerequisites

Step 1: Create the Droplet

  1. Log into DigitalOcean
  2. Click Create → Droplets
  3. Configure:
    • Region: Closest to you
    • Image: Ubuntu 24.04 LTS (avoid Marketplace 1-clicks)
    • Size: Basic → Regular → $12/mo (1 vCPU, 2GB RAM) — recommended for clawchief-style workloads
    • Authentication: SSH key (recommended)
  4. Click Create Droplet
  5. Note the IP address

Step 2: Initial Server Setup

# Connect
ssh root@YOUR_DROPLET_IP

# Update system
apt update && apt upgrade -y

# Add swap (important for memory headroom)
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

# Verify swap
free -h

Step 3: Install Node.js 22

curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs

# Verify
node --version  # Should be v22.x

Step 4: Install OpenClaw

curl -fsSL https://openclaw.ai/install.sh | bash

# Verify
openclaw --version

Step 5: Run Onboarding

openclaw onboard --install-daemon

The wizard walks you through:

  • Model auth (API keys for Claude, GPT, etc.)
  • Channel setup (Telegram, WhatsApp, Discord)
  • Gateway token (auto-generated)
  • Daemon installation (systemd)

Step 6: Verify Installation

# Check OpenClaw status
openclaw status

# Check systemd service
systemctl --user status openclaw-gateway.service

# View logs
journalctl --user -u openclaw-gateway.service -f

Step 7: Access the Dashboard

Option A: SSH Tunnel (simplest)

# From your LOCAL machine
ssh -L 18789:localhost:18789 root@YOUR_DROPLET_IP

# Then open in browser
open http://localhost:18789

Option B: Tailscale (recommended for persistent access)

# On the droplet
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up

# Configure OpenClaw to use Tailscale Serve
openclaw config set gateway.tailscale.mode serve
openclaw gateway restart

# Access via your Tailscale MagicDNS name
# https://your-droplet.tailnet-name.ts.net/

Step 8: Connect Channels

Telegram:

openclaw pairing list telegram
openclaw pairing approve telegram <CODE>

WhatsApp:

openclaw channels login whatsapp
# Scan QR code with your phone

Discord:

openclaw channels add discord
# Follow the bot setup instructions

Part 3: Installing Clawchief (Optional)

If you want to use clawchief's architecture:

Step 1: Clone and Review

cd ~/.openclaw/workspace
git clone https://github.com/snarktank/clawchief.git clawchief-ref

# Review the structure
ls clawchief-ref/

Step 2: Install Dependencies

# Install gws (Google Workspace CLI)
# See: https://github.com/snarktank/gws

# Install Python dependencies
apt install -y python3-pip
pip3 install todoist-api-python

Step 3: Configure Environment

# Add to ~/.openclaw/.env
echo "TODOIST_API_TOKEN=your_token_here" >> ~/.openclaw/.env

Step 4: Copy What You Need

# Copy skills (customize after)
cp -r clawchief-ref/skills/* ~/.openclaw/skills/

# Copy workspace structure (customize after)
cp -r clawchief-ref/clawchief ~/.openclaw/workspace/
cp clawchief-ref/workspace/HEARTBEAT.md ~/.openclaw/workspace/
cp clawchief-ref/workspace/TOOLS.md ~/.openclaw/workspace/

Step 5: Customize

Edit these files to match YOUR context:

  1. ~/.openclaw/workspace/clawchief/priority-map.md — your people and programs
  2. ~/.openclaw/workspace/TOOLS.md — your local environment details
  3. ~/.openclaw/skills/business-development/resources/partners.md — your partners
  4. Cron jobs from clawchief-ref/cron/jobs.template.json

Step 6: Bootstrap Todoist

python3 ~/.openclaw/workspace/clawchief/scripts/todoist_cli.py bootstrap

Maintenance

Backups

# Backup OpenClaw state
tar -czvf ~/openclaw-backup-$(date +%Y%m%d).tar.gz ~/.openclaw

# Consider automating via cron

Updates

# Update OpenClaw
npm update -g openclaw

# Restart gateway
openclaw gateway restart

Monitoring

# Memory usage
free -h
htop

# Logs
journalctl --user -u openclaw-gateway.service -f

# OpenClaw diagnostics
openclaw doctor --non-interactive

Cost Summary

Component Cost
DigitalOcean Droplet (2GB) $12/mo
Todoist Pro (optional) $5/mo
Model API usage Variable
Total ~$17/mo + API costs

Resources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment