Adds production-ready systemd service templates for Linux deployments. Includes: - : Auto-restart configuration for the main process. - : Configuration for Cloudflare Tunnel dependent on the gateway. - Documentation in . This simplifies self-hosting setup on VPS and Home Lab environments.
1.8 KiB
1.8 KiB
Linux Systemd Deployment
For production deployments on Linux (VPS, Raspberry Pi, Home Lab), it is recommended to run Clawdbot as a systemd service. This ensures the gateway restarts automatically on crash or reboot.
If you also use Cloudflare Tunnels for remote access, you can configure a dependent service to ensure the tunnel stays connected to the gateway.
Prerequisites
- Node.js (v22+)
cloudflared(if using remote access)- Clawdbot repository cloned and built (
pnpm install && pnpm build)
1. Setup Gateway Service
-
Copy the example template:
sudo cp deploy/systemd/clawdbot-gateway.service.example /etc/systemd/system/clawdbot-gateway.service -
Edit the file to match your user and paths:
sudo nano /etc/systemd/system/clawdbot-gateway.service- Change
User=<YOUR_USER>to your username. - Change
WorkingDirectoryto your Clawdbot folder. - Update
ExecStartwith your preferred flags (e.g. secure token).
- Change
-
Reload and start:
sudo systemctl daemon-reload sudo systemctl enable --now clawdbot-gateway
2. Setup Cloudflare Tunnel (Optional)
This service is configured to depend on clawdbot-gateway, ensuring robust connectivity.
-
Copy the example template:
sudo cp deploy/systemd/clawdbot-tunnel.service.example /etc/systemd/system/clawdbot-tunnel.service -
Edit the file:
sudo nano /etc/systemd/system/clawdbot-tunnel.service- Update
UserandExecStartpaths. - Ensure your tunnel is already created (
cloudflared tunnel create <name>).
- Update
-
Enable:
sudo systemctl enable --now clawdbot-tunnel
Operations
Check status:
systemctl status clawdbot-gateway clawdbot-tunnel
View logs:
journalctl -u clawdbot-gateway -f