System Requirements
This page lists everything you need to run a self-hosted Snippbot instance, from operating system and runtime requirements to ports and optional dependencies.
Operating System
Section titled “Operating System”| Platform | Support Level | Notes |
|---|---|---|
| Linux (Debian/Ubuntu/RHEL) | Fully supported | Recommended for production |
| macOS (12+) | Fully supported | Good for development |
| Windows (10/11) | Community support | WSL 2 strongly recommended |
Runtime Requirements
Section titled “Runtime Requirements”| Requirement | Minimum | Recommended |
|---|---|---|
| Python | 3.11 | 3.12 |
| Node.js | 20.x LTS | 22.x LTS |
| pnpm | 9.x | Latest 9.x |
| RAM | 2 GB | 4 GB or more |
| Disk | 5 GB | 20 GB or more |
| CPU | Any modern x86_64 or ARM64 | 2+ cores |
Optional Requirements
Section titled “Optional Requirements”Docker or Podman
Section titled “Docker or Podman”Required only if you want to use the sandbox feature, which runs agent-generated code in isolated containers.
| Tool | Minimum Version |
|---|---|
| Docker | 24.x |
| Podman | 4.x |
The Docker socket must be accessible to the Snippbot process. On Linux, add the snippbot user to the docker group:
sudo usermod -aG docker $USERGPU (for local Whisper STT)
Section titled “GPU (for local Whisper STT)”Snippbot supports optional local speech-to-text via OpenAI Whisper. A GPU is not required, but significantly improves transcription speed.
| Hardware | Notes |
|---|---|
| NVIDIA GPU (CUDA) | Best performance; install CUDA 12+ and cuDNN |
| Apple Silicon (MPS) | Supported on macOS 12+ via PyTorch MPS |
| CPU-only | Works but is slow for long audio; use whisper-tiny or whisper-base model |
Browser Automation
Section titled “Browser Automation”The browser tool (used for web scraping, form automation, and the browser panel in the UI) requires Chrome or Chromium with the Chrome DevTools Protocol (CDP) enabled.
| Option | Notes |
|---|---|
| Google Chrome | Recommended; install the stable channel |
| Chromium | Works; available in most Linux package managers |
Snippbot launches Chrome automatically when the browser tool is first used. No manual configuration is needed if Chrome or Chromium is installed in a standard location.
| Port | Service | Required |
|---|---|---|
| 18781 | Snippbot API + UI | Yes |
| 18790 | Channel adapter (webhooks from Slack, Telegram, etc.) | Only if using channels |
| 5173 | Vite UI dev server | Dev mode only |
Network Requirements
Section titled “Network Requirements”Outbound
Section titled “Outbound”Snippbot requires outbound HTTPS access to the AI provider APIs you configure:
| Destination | Purpose |
|---|---|
api.anthropic.com | Anthropic Claude models |
api.openai.com | OpenAI models (optional) |
api.groq.com | Groq inference (optional) |
| Your Ollama endpoint | Local models via Ollama (optional) |
Inbound
Section titled “Inbound”Inbound access is only required if you use messaging channels (Slack, Telegram, etc.) that deliver webhook events to your server.
| Scenario | Required inbound |
|---|---|
| UI + API only | None (outbound only) |
| Channel adapters | Port 18790 reachable from the internet (or via reverse proxy on 443) |
Database
Section titled “Database”Snippbot uses SQLite for all persistent storage. No separate database server is required.
| Property | Detail |
|---|---|
| Engine | SQLite 3 (bundled with Python) |
| Location | ~/.snippbot/snippbot.db |
| Backups | Copy the .db file; it is a single portable file |
Recommended Production Configuration
Section titled “Recommended Production Configuration”For a reliable self-hosted production installation:
| Resource | Recommendation |
|---|---|
| Provider | Any VPS (DigitalOcean, Linode, Hetzner, Vultr, AWS Lightsail) |
| CPU | 2+ vCPUs |
| RAM | 4 GB |
| Disk | 20 GB SSD |
| OS | Ubuntu 24.04 LTS |
| TLS | Caddy (automatic Let’s Encrypt) or nginx + certbot |
A $12–$20/month VPS from any major cloud provider comfortably handles Snippbot for a team of 5–10 users with several active agents.