Share this page with any AI assistant (Kodee, Claude, ChatGPT, etc.) when you need help with John's Atlas/Cooper setup. It contains full context on the architecture, services, and relationships so you don't have to re-explain everything.
📍 Location: hub.highside-re.com/emergency-context.html | Also saved at: /data/.openclaw/workspace/hub/emergency-context.html
Atlas is John's primary AI agent. It runs inside a Docker container on a Hostinger VPS, powered by OpenClaw (an open-source AI agent framework). Atlas handles email, document creation, deal analysis, project management, and also manages the Cooper platform.
8637904053:AAFMHOS1... (current as of Apr 10 2026)
Web UIhttp://127.0.0.1:18789 (local only) | external via Traefik proxy
FrameworkOpenClaw v2026.4.9
AI modelClaude Sonnet (Anthropic) via Nexos
Workspace/data/.openclaw/workspace/ (inside container)
Memory filesMEMORY.md, memory/YYYY-MM-DD.md
atlas-telegram PM2 process on the host must stay STOPPED. If both run simultaneously → 409 conflict loop → gateway crash.
ssh -i /data/.ssh/id_ed25519 root@187.124.249.45
OSUbuntu Linux
Disk193GB total | ~35GB used | healthy
RAM15.6GB total | typically ~640MB used by OpenClaw
BackupsDaily Hostinger backups, 30-min restore, US location
openclaw-om5j-openclaw-1
Imageghcr.io/hostinger/hvps-openclaw:latest
Compose file/docker/openclaw-om5j/docker-compose.yml
Data mount/docker/openclaw-om5j/data → /data inside container
Workspace mount/data/.openclaw/workspace → same inside container
Config file/docker/openclaw-om5j/data/.openclaw/openclaw.json (+ .bak through .bak.4)
Gateway port18789 (internal) | external via Traefik on port 56274
openclaw.json AND rotates backups (.bak through .bak.4). If you only fix openclaw.json and the gateway restarts, it may restore an old .bak. Always fix ALL 6 files via SSH, OR use openclaw config set <key> <value> (hot reload — preferred).
| Process | Status | Purpose |
|---|---|---|
cooper-telegram-multibot | ONLINE ✅ | 15 Cooper agent bots (Telegram) |
cooper-email-poller | ONLINE ✅ | Polls jburns@highside-re.com for inbound emails |
atlas-watchdog | ONLINE ✅ | Watchdog for PM2 processes |
cooper-oauth-callback | ONLINE ✅ | Google OAuth callback handler |
cooper-sms-handler | ONLINE ✅ | Twilio SMS bridge |
atlas-telegram | STOPPED ⛔ | MUST stay stopped — conflicts with OpenClaw |
101074ef1857ad52fc4026209cf8c3f1
Domainsmeetcooper.ai, meetcooper.com, highside-re.com
Pages projectshsre-hub (hub.highside-re.com), cooper-ai (meetcooper.ai)
Deploy tokencfut_OVzINyK8IuxlAYKtmhJBz5QsQPZT5PpsNF76TxGjca504f1c
Workers KVCross-platform memory sync for all Cooper agents
/data/.openclaw/workspace/credentials/msgraph.json
Cooper is an AI concierge service that John built and operates. It gives each client their own personal AI agent with a unique name and personality. Cooper agents communicate via Telegram (each has their own bot), email, and a web chat at meetcooper.ai.
https://meetcooper.ai/api/chat (POST)
AuthMagic link (Cloudflare KV-backed), 30-day sessions
Agent config/data/.openclaw/workspace/clients/registry.json
Bot config/data/.openclaw/workspace/credentials/telegram-bots.json
Core script/data/.openclaw/workspace/scripts/cooper-telegram-handler-multibot.py
AI engine/data/.openclaw/workspace/scripts/cooper-ai-engine.py
Workspace cmds/data/.openclaw/workspace/scripts/workspace_commands.py (doc creation, email, etc.)
Atlas (John's personal agent) builds and maintains Cooper. Atlas also has its own Cooper agent called "Ace" (for John's personal use as a Cooper client). The Cooper agents (Rex, Finn, etc.) are separate Python processes running on the VPS host — they do NOT run inside the OpenClaw container. Atlas manages them via SSH.
| Agent | Client | Telegram Bot | Tier |
|---|---|---|---|
| Rex | Kent McNeil | @Rex_Cooper_bot | Professional |
| Nash | Andy Heard | @Nash_Cooper_bot | Professional |
| Finn | Jeff Turnas | @Finn_Cooper_bot | Professional |
| Maverick | Chase Belew | @Maverick_Cooper_bot | Professional |
| Ryder | Michael Broyles | @Ryder_Cooper_bot | Professional |
| Ramsey | Jack Irvine | @Ramsey_Cooper_bot | Trial |
| Waylon | Josh Lackie | @Waylon_Cooper_bot | Trial |
| Ricky | Will Ambruzs | @Ricky_Cooper_bot | Trial |
| Delilah | Charlotte Burns | @Delilah_Cooper_bot | Personal |
| Bibby | John Burns IV | @Bibby_Cooper_bot | Personal |
| Tucker | Brinley Burns | @Tucker_Cooper_bot | Personal |
| Lucy | Kylie Calvert | @Lucy_Cooper_bot | Personal |
| Honey | Stacy Burns | @honey_cooper_bot | Personal |
| Charlotte | Jackson Miller | @charlotte_cooperbot | Professional |
| Ace | John Burns (personal) | @ace_cooper_bot | Professional |
Use these steps in order. Each step fixes the most common failure mode.
ssh root@187.124.249.45 docker ps | grep openclaw
If not running: cd /docker/openclaw-om5j && docker-compose up -d
ssh root@187.124.249.45
python3 -c "import json; d=json.load(open('/docker/openclaw-om5j/data/.openclaw/openclaw.json')); print(d['channels']['telegram']['botToken'])"
If token is wrong (ends in jEqu6m3NvVyI = OLD/bad), fix it:
# Fix all config files with correct token (replace TOKEN with the real one from BotFather)
TOKEN="8637904053:AAFMHOS1T31WM3NWQ-eWDKyYOlBEahubyGA"
for f in /docker/openclaw-om5j/data/.openclaw/openclaw.json{,.bak,.bak.1,.bak.2,.bak.3,.bak.4}; do
python3 -c "import json; d=json.load(open('$f')); d['channels']['telegram']['botToken']='$TOKEN'; json.dump(d,open('$f','w'),indent=2)" 2>/dev/null && echo "Fixed $f"
done
# Then recreate container to load fresh config:
cd /docker/openclaw-om5j && docker-compose down && docker-compose up -d
ssh root@187.124.249.45 "pm2 list | grep atlas-telegram" # If status shows 'online' — STOP IT immediately: ssh root@187.124.249.45 "pm2 stop atlas-telegram && pm2 save"
ssh root@187.124.249.45 "pm2 list" # Should show: cooper-telegram-multibot ONLINE, cooper-email-poller ONLINE # If multibot is down: ssh root@187.124.249.45 "pm2 restart cooper-telegram-multibot"
curl "https://api.telegram.org/bot8637904053:AAFMHOS1T31WM3NWQ-eWDKyYOlBEahubyGA/getMe"
# Should return: {"ok":true,"result":{"username":"atlas_hsre_vps_bot",...}}
ssh root@187.124.249.45 "docker exec openclaw-om5j-openclaw-1 openclaw doctor --non-interactive" # Look for: Telegram: ok (@atlas_hsre_vps_bot)
docker restart mid-session — it kills the OpenClaw gateway while it's talking to you, causing a crash loop. Use docker-compose down && docker-compose up -d instead (clean stop + start).
ssh -i /data/.ssh/id_ed25519 -o StrictHostKeyChecking=no root@187.124.249.45
ssh root@187.124.249.45 "docker logs openclaw-om5j-openclaw-1 --tail 50 -f"
ssh root@187.124.249.45 "cd /docker/openclaw-om5j && docker-compose down && docker-compose up -d"
# Inside the OpenClaw container (via web UI terminal or exec): openclaw config set channels.telegram.botToken "NEW_TOKEN_HERE" # Then fix all bak files on host too (see Step 2 above)
wc -c /data/.openclaw/agents/main/sessions/sessions.json
python3 -c "import json; d=json.load(open('/data/.openclaw/agents/main/sessions/sessions.json')); print(len(d), 'sessions')"
ssh root@187.124.249.45 "docker events --filter container=openclaw-om5j-openclaw-1"
edit tool writes to a different filesystem.