- Split cloudinit.tf into cloudinit-hermes.tf and cloudinit-openclaw.tf - Split variables.tf into variables-common.tf, variables-hermes.tf, variables-openclaw.tf - Move templates into hermes/templates/ and openclaw/templates/ - Move models/ into openclaw/models/ - Move hermes-openclaw.json to openclaw/openclaw-reference.json - Move hermes docs to hermes/docs/ - OpenClaw cloudinit now uses variables instead of hardcoded values - All 48 variable references verified against definitions
4.8 KiB
4.8 KiB
Quick Reference: Hermes Deployment Status Check
For Current Deployment (Before Fixes)
If you're still SSH'd into the server from your initial deployment, run these checks:
Check 1: Is the systemd service running?
systemctl status hermes.service
Expected (BROKEN - before fix): Shows failed or inactive
Check 2: Does the Docker container exist?
docker ps -a | grep hermes
Expected (BROKEN - before fix): Container doesn't exist OR shows Exited status
Check 3: Check systemd journal for errors
journalctl -u hermes.service | tail -50
Expected (BROKEN - before fix): Error like "docker: command not found" or "file not found"
Check 4: Watch docker logs
docker logs hermes 2>&1 | head -20
Expected (BROKEN - before fix): Either no container, or errors about missing files
Check 5: Is Discord bot online?
# Go to Discord and check your server
# Look for the bot in members list
Expected (BROKEN - before fix): Shows Offline or doesn't appear
After Redeploying with Fixes
Run these verification commands immediately after deployment:
Quick Verification (< 1 minute)
# 1. Check service status
systemctl status hermes.service
# 2. Check Docker container
docker ps | grep hermes
# 3. Check port is listening
netstat -tlnp | grep 18789
Expected (FIXED):
- Service shows
active (running) - Container shows
UPstatus - Port 18789 shows
LISTEN
Comprehensive Health Check (< 5 minutes)
/usr/local/bin/hermes-health-check.sh
Expected (FIXED): All checks show ✓
Detailed Logs
# Check what's happening in the container
docker logs -f hermes
# Use Ctrl+C to exit after 10-20 lines
Expected (FIXED):
[INFO] Hermes Agent Framework starting...
[INFO] Initializing gateway on port 18789
[INFO] Discord bot initialized
Discord Connectivity Test
# In your Discord server, type:
@hermes help
# Bot should respond within 5 seconds
Expected (FIXED): Bot is online and responds
Troubleshooting Matrix
| Symptom | Check | Fix |
|---|---|---|
Service shows failed |
journalctl -u hermes.service |
Redeploy with fixed template |
Container Exited |
docker logs hermes |
Check the logs for errors |
| Port not listening | docker ps |
Container not running |
| Docker permission denied | Check User= in service | Should be root now |
| Bot shows offline | Check Discord bot token | Verify in .env file |
| No container at all | docker ps -a |
Image wasn't pulled, redeploy |
Command Reference
Systemd Service
# Check status
systemctl status hermes.service
# View logs (last 50 lines)
journalctl -u hermes.service -n 50
# View logs with timestamps
journalctl -u hermes.service -f --all
# Restart service
systemctl restart hermes.service
# Stop service
systemctl stop hermes.service
# Start service
systemctl start hermes.service
Docker
# List running containers
docker ps
# List all containers (including stopped)
docker ps -a
# View container logs
docker logs hermes
# Follow logs (live)
docker logs -f hermes
# Show last 100 lines
docker logs --tail=100 hermes
# Inspect container
docker inspect hermes
Files to Check
# Configuration files
cat ~/.hermes/.env
cat ~/.hermes/config.yaml
cat ~/docker-compose.yml
# Check permissions
ls -la ~/.hermes/
# Check if Hermes healthcheck script exists
ls -la /usr/local/bin/hermes-health-check.sh
Before vs After Comparison
BEFORE These Fixes:
❌ systemctl status hermes.service
→ inactive (dead)
❌ docker ps
→ (no container)
❌ journalctl -u hermes.service
→ cannot open: "/home/hermes/docker-compose.yml"
❌ Discord bot
→ OFFLINE
AFTER These Fixes:
✓ systemctl status hermes.service
→ active (running)
✓ docker ps
→ hermes container UP 2 minutes
✓ journalctl -u hermes.service
→ [INFO] Hermes Agent started successfully
✓ Discord bot
→ ONLINE ✓
When to Seek Help
If after redeployment you still have issues:
- Check HERMES_DEBUGGING.md in docs/ for detailed troubleshooting
- Read HERMES_AUDIT_REPORT.md for what was fixed
- Run health check:
/usr/local/bin/hermes-health-check.sh - Share logs:
docker logs hermesoutput - Check config: Verify Discord token, server ID, user IDs in
~/.hermes/.env
Redeploy Command
To apply all fixes:
cd ~/openboatmobile
# Option 1: Clean slate (recommended)
terraform destroy -auto-approve
source .env && terraform init && terraform apply
# Option 2: Update in-place
source .env && terraform apply -auto-approve
Then verify with:
ssh hermes@<SERVER_IP>
/usr/local/bin/hermes-health-check.sh