Everything you need to deploy and maintain a self-hosted YokeBot instance.
YokeBot can be self-hosted on any machine that runs Node.js 20+. For development, the built-in dev server is sufficient. For production, we recommend Docker Compose or a process manager like PM2.
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| RAM | 2 GB | 4+ GB |
| Disk | 1 GB (plus document storage) | 10+ GB SSD |
| OS | Linux, macOS, or Windows (WSL2) | Linux (Ubuntu 22.04+) |
| Node.js | 20.x | 22.x LTS |
| pnpm | 9.x | 9.x |
In production, place YokeBot behind a reverse proxy for SSL termination and routing. Here is a minimal Nginx configuration:
server {
listen 443 ssl;
server_name yokebot.yourdomain.com;
ssl_certificate /etc/ssl/certs/yokebot.pem;
ssl_certificate_key /etc/ssl/private/yokebot.key;
location /api/ {
proxy_pass http://localhost:3001/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
proxy_pass http://localhost:3000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}SQLite works well for single-instance deployments with moderate workloads. Switch to Postgres when:
For SQLite, back up the database file regularly. For Postgres, use standard pg_dump or your hosting provider's automated backup feature. Also back up your .env file and any custom SKILL.md files.