Skip to content

Installation

RequirementMinimumInstall
Python3.11+python.org
Node.js20+nodejs.org
pnpm9+npm install -g pnpm

Clone the repository and run the install script:

Terminal window
git clone https://github.com/snippbot/snippbot.git
cd snippbot
./INSTALL.sh

The script:

  1. Verifies Python 3.11+, Node.js 20+, pnpm
  2. Creates a Python virtual environment at .venv/
  3. Installs Python packages (core, local, cli)
  4. Installs UI dependencies (pnpm install)
  5. Starts the dev servers
  6. Opens http://localhost:5173/setup in your browser

Options:

Terminal window
./INSTALL.sh --no-browser # Don't open browser automatically
./INSTALL.sh --fresh # Wipe all data and start fresh
./INSTALL.sh --new-account # New account, keep data
./INSTALL.sh --keep-data # Re-install, keep everything
./INSTALL.sh --vm # Server install (bind 0.0.0.0)
./INSTALL.sh --vm 10.0.0.5 # Bind to specific IP

When installing on a remote server or VM, use --vm to make Snippbot accessible from other machines:

Terminal window
./INSTALL.sh --vm

This binds to 0.0.0.0 instead of 127.0.0.1 and helps configure any firewall to open ports 5173, 18781, and 8787.


After installation, the 8-step setup wizard runs automatically:

StepNameWhat it does
1GenesisSystem checks (Python, Node, ports, disk space, databases)
2PermissionsGrant microphone and notification access (optional)
3IdentityYour display name, email, and avatar
4AccountCreate login credentials (username/password or API key)
5VoiceConfigure text-to-speech provider (optional)
6ModelSelect AI provider and enter API keys
7MarketplaceInstall starter packages (optional)
8IgnitionVerify servers are running, enter the Awakening experience

After installation, use START scripts or the CLI to manage servers:

Terminal window
snippbot start # Start daemon
snippbot stop # Stop daemon
snippbot status # Check status

All user data is stored in ~/.snippbot/:

~/.snippbot/
├── config.toml # System config (ports, log level, API keys)
├── setup.json # Setup wizard state
├── auth.db # Users, sessions, API keys
├── profile_settings.db # User profile and preferences
├── snippbot.db # Main application database
├── avatar.* # User avatar
└── backups/ # Automatic backup snapshots

Open http://localhost:5173 in your browser. You should see the Snippbot dashboard.

You can also verify from the command line:

Terminal window
curl http://localhost:18781/health
# {"status": "ok", "service": "snippbot", "uptime_seconds": 3600.5}

Server won’t start:

Terminal window
tail -f .logs/backend.log # Check backend logs
lsof -i :18781 # Check if port is in use

Port conflict:

Terminal window
./START.sh stop # Stop existing servers
snippbot stop --force # Force kill

Database issues:

Terminal window
ls -la ~/.snippbot/*.db # Check databases exist
snippbot doctor # Run health checks
snippbot reset --soft # Re-run setup wizard

For more, see Troubleshooting → Common Errors.