docs: add gateway restart guide
This commit is contained in:
committed by
Peter Steinberger
parent
f85807a2a6
commit
da2323f80e
174
docs/gateway/restart.md
Normal file
174
docs/gateway/restart.md
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
# Restarting the Clawdbot Gateway
|
||||||
|
|
||||||
|
This guide covers how to properly restart the Clawdbot gateway service on different platforms.
|
||||||
|
|
||||||
|
## Linux (systemd)
|
||||||
|
|
||||||
|
The gateway runs as a systemd user service on Linux servers.
|
||||||
|
|
||||||
|
### Quick Restart
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl --user restart clawdbot-gateway.service
|
||||||
|
```
|
||||||
|
|
||||||
|
### Full Reload (after code updates)
|
||||||
|
|
||||||
|
When you update the codebase (git pull, rebase, etc.), follow these steps:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Stop the service
|
||||||
|
systemctl --user stop clawdbot-gateway.service
|
||||||
|
|
||||||
|
# 2. Kill any stray gateway processes
|
||||||
|
pkill -f "gateway.*18789"
|
||||||
|
|
||||||
|
# 3. Reload systemd configuration (if service file changed)
|
||||||
|
systemctl --user daemon-reload
|
||||||
|
|
||||||
|
# 4. Start the service
|
||||||
|
systemctl --user start clawdbot-gateway.service
|
||||||
|
|
||||||
|
# 5. Verify it's running
|
||||||
|
systemctl --user status clawdbot-gateway.service
|
||||||
|
```
|
||||||
|
|
||||||
|
### Reinstall Service (after major updates)
|
||||||
|
|
||||||
|
If the gateway command changed or you're having persistent issues:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Uninstall old service
|
||||||
|
pnpm clawdbot daemon uninstall
|
||||||
|
|
||||||
|
# Reinstall with latest configuration
|
||||||
|
pnpm clawdbot daemon install
|
||||||
|
|
||||||
|
# Reload and start
|
||||||
|
systemctl --user daemon-reload
|
||||||
|
systemctl --user start clawdbot-gateway.service
|
||||||
|
```
|
||||||
|
|
||||||
|
### Check Logs
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Follow live logs
|
||||||
|
journalctl --user -u clawdbot-gateway.service -f
|
||||||
|
|
||||||
|
# View recent logs
|
||||||
|
journalctl --user -u clawdbot-gateway.service -n 50
|
||||||
|
|
||||||
|
# View logs since last boot
|
||||||
|
journalctl --user -u clawdbot-gateway.service --boot
|
||||||
|
```
|
||||||
|
|
||||||
|
### Common Issues
|
||||||
|
|
||||||
|
**Port already in use:**
|
||||||
|
```bash
|
||||||
|
# Find process using port 18789
|
||||||
|
lsof -i :18789
|
||||||
|
|
||||||
|
# Kill specific process
|
||||||
|
kill -9 <PID>
|
||||||
|
```
|
||||||
|
|
||||||
|
**Service keeps restarting:**
|
||||||
|
```bash
|
||||||
|
# Check for error details
|
||||||
|
journalctl --user -u clawdbot-gateway.service --since "5 minutes ago" | grep -i error
|
||||||
|
|
||||||
|
# Verify service file is correct
|
||||||
|
cat ~/.config/systemd/user/clawdbot-gateway.service
|
||||||
|
```
|
||||||
|
|
||||||
|
## macOS (launchd)
|
||||||
|
|
||||||
|
Use the macOS menu app or restart script:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./scripts/restart-mac.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Or manually:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Stop service
|
||||||
|
launchctl unload ~/Library/LaunchAgents/dev.steipete.clawdbot.gateway.plist
|
||||||
|
|
||||||
|
# Start service
|
||||||
|
launchctl load ~/Library/LaunchAgents/dev.steipete.clawdbot.gateway.plist
|
||||||
|
```
|
||||||
|
|
||||||
|
## Using Clawdbot CLI
|
||||||
|
|
||||||
|
Cross-platform daemon management:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Stop gateway
|
||||||
|
pnpm clawdbot daemon stop
|
||||||
|
|
||||||
|
# Start gateway
|
||||||
|
pnpm clawdbot daemon start
|
||||||
|
|
||||||
|
# Check status
|
||||||
|
pnpm clawdbot daemon status
|
||||||
|
```
|
||||||
|
|
||||||
|
## After Configuration Changes
|
||||||
|
|
||||||
|
After modifying `~/.clawdbot/clawdbot.json` or auth profiles:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Restart to reload configuration
|
||||||
|
systemctl --user restart clawdbot-gateway.service
|
||||||
|
|
||||||
|
# Or use CLI
|
||||||
|
pnpm clawdbot daemon stop && pnpm clawdbot daemon start
|
||||||
|
```
|
||||||
|
|
||||||
|
The gateway will automatically reload:
|
||||||
|
- Auth profiles
|
||||||
|
- Model fallback configuration
|
||||||
|
- Gateway settings (port, bind, etc.)
|
||||||
|
- Provider configurations
|
||||||
|
|
||||||
|
## Verifying Gateway Health
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check gateway is responding
|
||||||
|
pnpm clawdbot health
|
||||||
|
|
||||||
|
# List auth providers
|
||||||
|
pnpm clawdbot providers list
|
||||||
|
|
||||||
|
# Test agent connection
|
||||||
|
pnpm clawdbot agent --message "hello" --local
|
||||||
|
```
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
**Gateway won't start:**
|
||||||
|
1. Check for port conflicts: `lsof -i :18789`
|
||||||
|
2. Verify configuration: `pnpm clawdbot doctor`
|
||||||
|
3. Check logs for errors
|
||||||
|
4. Try reinstalling the service
|
||||||
|
|
||||||
|
**Changes not taking effect:**
|
||||||
|
- Configuration changes require restart
|
||||||
|
- Code changes require rebuild: `pnpm build`
|
||||||
|
- Service file changes require daemon-reload
|
||||||
|
|
||||||
|
**Multiple gateways running:**
|
||||||
|
```bash
|
||||||
|
# List all gateway processes
|
||||||
|
ps aux | grep gateway
|
||||||
|
|
||||||
|
# Kill all gateway processes
|
||||||
|
pkill -f "gateway.*18789"
|
||||||
|
|
||||||
|
# Clean start
|
||||||
|
systemctl --user stop clawdbot-gateway.service
|
||||||
|
pkill -f "gateway.*18789"
|
||||||
|
systemctl --user start clawdbot-gateway.service
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user