Complete Installation Guide
This guide covers the complete installation process for Tabby AI Keyboard, including all prerequisites, optional features, and advanced configuration.Looking for a faster setup? Check out the Quick Start guide for essential steps only.
System Requirements
Operating System
Windows 10 or Windows 11
Architecture
x64 (64-bit) processor
RAM
Minimum 8GB (16GB recommended)
Disk Space
At least 5GB free space
Prerequisites
Required Software
Node.js 18+
Python 3.12+
uv Python Package Manager
Docker Desktop
Download and install from docker.comAfter installation, start Docker Desktop and verify:
Docker Desktop is required for running the local Supabase instance. Make sure it’s running before starting Tabby.
API Keys
Required
- OpenAI API Key - Get it from platform.openai.com/api-keys
Optional AI Providers
- Google Generative AI - ai.google.dev
- Groq - console.groq.com
- Cerebras - cerebras.ai
- XAI - x.ai
- OpenRouter - openrouter.ai
Additional Services
- Tavily API Key - For web search capabilities - tavily.ai
- Neo4j Instance - For knowledge graph visualization (optional) - neo4j.com/cloud/platform/aura-graph-database
Installation Steps
1. Clone Repository
2. Install Dependencies
Install dependencies for each component:Frontend (Electron + Next.js)
- Electron 38
- Next.js 15
- React 19
- Vercel AI SDK
- UI components (Radix UI, Tailwind CSS)
3. Database Setup
Tabby uses a local Supabase instance running in Docker, not the cloud service. This gives you full control and privacy.
Start Docker Desktop
Launch Docker Desktop and wait for it to fully initialize. You should see the Docker icon in your system tray.
Initialize Supabase
From the project root directory:
This command only needs to be run once. It creates the Supabase configuration directory.
Start Local Supabase
Verify Database Schema
The database schema is automatically applied from Navigate to Table Editor to see the tables.
supabase/migrations/.Verify by visiting Supabase Studio:Supabase Management Commands
| Action | Command |
|---|---|
| Start Supabase | npx supabase start |
| Stop Supabase | npx supabase stop |
| Check Status | npx supabase status |
| Reset Database | npx supabase db reset |
| Open Studio | http://localhost:54323 |
4. Neo4j Setup (Optional)
Neo4j provides knowledge graph visualization for your memories. This is optional but recommended for advanced memory features.
Create Neo4j Instance
- Go to Neo4j AuraDB
- Sign up for a free account
- Create a new free instance
Save Credentials
When creating the instance, Neo4j will provide a credentials file. Download and save it securely.You’ll need:
- URI (e.g.,
neo4j+s://xxxxx.databases.neo4j.io) - Username (usually
neo4j) - Password (generated password)
- Instance ID
- Instance Name
5. Environment Configuration
Create and configure environment files for each component.Running Tabby
Development Mode
Start all services in separate terminal windows:Terminal 4: Start Windows MCP (Optional)
This provides desktop automation features via MCP. Optional but recommended.
Verify Installation
Check that all services are running:| Service | URL | Description |
|---|---|---|
| Supabase Studio | http://localhost:54323 | Database admin UI |
| Frontend | http://localhost:3000 | Main app interface |
| Next.js Backend | http://localhost:3001 | API backend |
| Memory API | http://localhost:8000 | Memory service |
| Windows MCP | http://localhost:8001 | Desktop automation |
Building for Production
Local Build
Create a production executable:.exe installer will be created in frontend/dist/.
GitHub Releases
For automated releases via GitHub Actions:Configure GitHub Secrets
Add these secrets to your repository settings:
GH_TOKEN- GitHub Personal Access Token withreposcope- All
NEXT_PUBLIC_*variables from.env.local - All
SUPABASE_*variables
Post-Installation
Access System Tray
After starting the Electron app, look for the Tabby icon in your system tray.Right-click the icon to access:
- Show Actions Menu
- Brain Panel
- Settings
- Quit
Configure Settings
Open Settings from the system tray to:
- Select your preferred AI model
- Configure output mode (Paste/Typewriter)
- Customize keyboard shortcuts
- Set up custom actions
Learn Shortcuts
Familiarize yourself with the keyboard shortcuts to maximize productivity.
Troubleshooting
Docker Desktop Issues
Docker Desktop Issues
Problem: Supabase fails to startSolutions:
- Ensure Docker Desktop is running
- Check available disk space (need at least 5GB)
- Verify Docker is not blocked by antivirus/firewall
- Try restarting Docker Desktop
- Run
docker system pruneto clean up old images
Port Conflicts
Port Conflicts
Problem: Services fail because ports are in useCheck ports:Solutions:
- Stop services using those ports
- Or modify the ports in configuration files
Python/uv Issues
Python/uv Issues
Problem: Memory backend fails to startSolutions:
- Verify Python 3.12+ is installed:
python --version - Reinstall uv:
pip install --upgrade uv - Delete
.venvfolder inbackend/and runuv syncagain - Check that Supabase connection string is correct
Node.js/pnpm Issues
Node.js/pnpm Issues
Problem: Frontend or backend fails to startSolutions:
- Verify Node.js 18+:
node --version - Clear pnpm cache:
pnpm store prune - Delete
node_modulesandpnpm-lock.yaml, then runpnpm install - Check all environment variables are set
Supabase Storage Issues
Supabase Storage Issues
Problem: Storage buckets not createdSolutions:
- Create buckets manually via Supabase Studio at
http://localhost:54323 - Ensure service_role key is correct in PowerShell command
- Check bucket names are exactly:
context-capturesandproject-assets - Verify buckets are set to “Public”
Neo4j Connection Issues
Neo4j Connection Issues
Problem: Memory service can’t connect to Neo4jSolutions:
- Verify Neo4j instance is running in AuraDB dashboard
- Check credentials (URI, username, password) are correct
- Ensure URI includes
neo4j+s://protocol - Test connection using Neo4j Browser
Next Steps
Configuration Guide
Customize Tabby to match your workflow
Keyboard Shortcuts
Master all shortcuts for maximum productivity
Interview Copilot
Learn to use the coding interview assistant
Memory System
Understand how Tabby remembers and learns