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 6-step setup wizard runs automatically:

StepNameWhat it does
1GenesisSystem checks (Python, Node, ports, disk space)
2IdentityYour display name, email, and avatar
3AccountCreate login credentials (username/password or API key)
4VoiceConfigure text-to-speech provider (optional)
5ModelSelect AI provider and enter API keys
6IgnitionVerify 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.