Skip to main content

Self-Hosted Overview

Self-hosting gives you full control over the Nimbus backend — your code never leaves your infrastructure.

When to self-host

Self-host when:

  • Your codebase contains sensitive IP and can't leave your environment
  • You need to run tasks against private GitHub Enterprise repos
  • You want to integrate Nimbus with internal tooling
  • You're running on-premise with no internet access (requires local Anthropic API access or a proxy)

Architecture

┌──────────────┐    ┌──────────────┐    ┌──────────────┐
│ Frontend │────│ FastAPI │────│ ChromaDB │
│ (Next.js) │ │ (backend) │ │ (vectors) │
└──────────────┘ └──────────────┘ └──────────────┘

┌──────────────┐
│ SQLite │
│ (tasks/db) │
└──────────────┘

Prerequisites

  • Docker and Docker Compose, or
  • Python 3.12+ and Node 20+ for manual setup
  • Anthropic API key
  • Voyage AI API key
  • GitHub App or personal access token

Setup options

MethodBest for
Docker ComposeQuickest setup, production-ready
Manual backendDevelopment, customization
Manual frontendCustom frontend changes

Data storage

DataLocationNotes
Tasks, repos, keysbackend/nimbus.dbSQLite, auto-created
Vector embeddings.chroma/ChromaDB, persists across restarts
Task workspaces/tmp/nimbus-workspaces/Ephemeral, cleaned after task
Sessions~/.nimbus/sessions/Local CLI only