claude-home/legacy/headless-claude/docs/n8n-setup-instructions.md
Cal Corum babf062d6a docs: archive headless-claude design docs to legacy/
Original planning folder (no git repo) for the server diagnostics system
that runs on CT 300. Live deployment is on claude-runner; this preserves
the Agent SDK reference, PRD with Phase 2/3 roadmap, and N8N workflow designs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 08:15:13 -06:00

3.9 KiB
Raw Blame History

N8N Setup Instructions

This guide walks through configuring the N8N health check workflow.

Prerequisites

  • N8N running at http://10.10.0.210:5678
  • SSH access configured between N8N LXC and Claude Code LXC (already done)
  • Discord webhook configured (already done)

Step 1: Create SSH Credential in N8N

  1. Open N8N at http://10.10.0.210:5678
  2. Go to Settings (gear icon) → Credentials
  3. Click Add Credential
  4. Search for and select SSH
  5. Configure:
    • Credential Name: Claude Code LXC
    • Host: 10.10.0.148
    • Port: 22
    • Username: root
    • Authentication: Private Key
    • Private Key: Paste the following:
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACAtHWX+TOsNkiL7TP1niwpO5AJjBThghODpa1q93g7bagAAAJiq1/Cyqtfw
sgAAAAtzc2gtZWQyNTUxOQAAACAtHWX+TOsNkiL7TP1niwpO5AJjBThghODpa1q93g7bag
AAAEBVXct4LSCsRexl9JYZtrYx4YVoioYBdWHlPinW+PudBS0dZf5M6w2SIvtM/WeLCk7k
AmMFOGCE4OlrWr3eDttqAAAAEm44bi10by1jbGF1ZGUtY29kZQECAw==
-----END OPENSSH PRIVATE KEY-----
  1. Click Save

Step 2: Import the Workflow

  1. Go to Workflows in N8N
  2. Click Add WorkflowImport from File
  3. Select: /mnt/NV2/Development/headless-claude/n8n-workflow-import.json
    • Or copy the workflow from this repo
  4. After import, open the workflow
  1. Click on the Run Claude Diagnostics node
  2. In the Credential dropdown, select Claude Code LXC
  3. Click Save

Step 4: Test the Workflow

  1. Click Execute Workflow (play button)

  2. Watch each node execute:

    • Every 5 Minutes → triggers
    • Run Claude Diagnostics → SSHs to Claude Code LXC
    • Parse Claude Response → extracts result
    • Has Issues? → routes based on health
    • Discord Alert or Discord OK → sends notification
  3. Check Discord for the notification

Step 5: Activate the Workflow

  1. Toggle the workflow to Active (top right)
  2. The workflow will now run every 5 minutes automatically

Workflow Behavior

Schedule

  • Runs every 5 minutes by default
  • Adjust in "Every 5 Minutes" node settings

Health Check

  • Calls Claude Code headless mode
  • Runs python3 ~/.claude/skills/server-diagnostics/client.py health paper-dynasty
  • Claude analyzes results and summarizes

Notifications

  • Issues Found: Red Discord embed with alert details
  • All Healthy: Green Discord embed (disabled by default - enable "Discord OK" node if wanted)

Cost

  • Each health check costs ~$0.08 (Claude API usage)
  • At 5-minute intervals: ~$0.08 × 12 × 24 = ~$23/day
  • Consider increasing interval to 15-30 minutes for cost savings

Customization

Change Check Interval

  1. Open "Every 5 Minutes" node
  2. Adjust minutesInterval value

Add More Servers

  1. Update config.yaml on Claude Code LXC
  2. Modify the Claude prompt in "Run Claude Diagnostics" node

Enable OK Notifications

  1. Click "Discord OK (Optional)" node
  2. Toggle off "Disabled" setting

Troubleshooting

SSH Connection Failed

# Test from N8N LXC
ssh -i ~/.ssh/n8n_to_claude root@10.10.0.148 "hostname"

Claude Command Not Found

# Verify Claude path on Claude Code LXC
/root/.local/bin/claude --version

Authentication Expired

If Claude returns auth errors, SSH to Claude Code LXC and re-authenticate:

ssh root@10.10.0.148
/root/.local/bin/claude  # Follow device code flow

Architecture

N8N (10.10.0.210)
    │
    ├── Schedule Trigger (every 5 min)
    │
    └── SSH to Claude Code LXC (10.10.0.148)
            │
            └── Claude Code Headless Mode
                    │
                    └── server-diagnostics skill
                            │
                            └── SSH to Paper Dynasty (10.10.0.88)
                                    │
                                    └── Docker health checks