Self-Hosting Overview
Octokraft can be deployed in your own infrastructure for teams that need full control over their data, compliance posture, or network environment.
Why Self-Host?
Data Sovereignty Your source code and analysis data never leave your infrastructure. All processing happens within your network.
Compliance Meet regulatory requirements that mandate data residency, audit controls, or air-gapped environments.
Custom AI Models Use your own AI model provider — any OpenAI-compatible API works. Run models locally or through your preferred vendor.
Network Isolation Deploy behind your firewall with no inbound internet access required beyond GitHub webhooks and AI provider APIs.
Deployment Options
Scenario Recommendation Small team (under 50 developers) Docker Compose Large team (50+ developers) Kubernetes High availability required Kubernetes
Architecture
Octokraft consists of three application components backed by four infrastructure services:
+-----------------------------------------------------------------+
| Octokraft |
+-----------------------------------------------------------------+
| +---------------+ +---------------+ +-----------------------+ |
| | Web App | | API Server | | Analysis Workers | |
| | (Frontend) | | | | | |
| +---------------+ +---------------+ +-----------------------+ |
+-----------------------------------------------------------------+
| +----------+ +---------+ +------------+ +--------------------+ |
| | Postgres | | Redis | | FalkorDB | | Temporal | |
| +----------+ +---------+ +------------+ +--------------------+ |
+-----------------------------------------------------------------+
Component Role Web App The Octokraft frontend. Serves the dashboard, PR views, and project settings. API Server Handles HTTP requests, authenticates users, and coordinates with infrastructure services. Analysis Workers Process background tasks: code analysis, health assessments, PR analysis, convention detection, and architecture review.
Required Infrastructure
You need to provision the following services. They can run alongside Octokraft or be managed separately (e.g., cloud-managed Postgres, hosted Redis).
Service Purpose Minimum Version PostgreSQL Primary data store for projects, users, analysis results, health assessments, and all persistent data 16+ Redis Caching, real-time event delivery (pub/sub for SSE), and session data 7+ FalkorDB Graph database for the code knowledge graph — symbols, dependencies, and cross-file relationships Latest Temporal Workflow orchestration for analysis pipelines, onboarding, and background processing Latest
All four services are required. Octokraft will not start if any service is unreachable.
AI Model Configuration
Octokraft requires access to AI models for code analysis, architecture review, convention detection, and PR analysis. Any OpenAI-compatible API works, including:
OpenAI
Azure OpenAI
Anthropic (via OpenAI-compatible endpoints)
OpenRouter
Self-hosted models (vLLM, Ollama, etc.)
AI model configuration is done through environment variables. See the Configuration Reference for details on the 4 model slots (large/small variants for OpenAI and Anthropic providers).
System Requirements
Docker Compose (small teams)
Resource Minimum Recommended CPU 4 cores 8 cores Memory 8 GB 16 GB Disk 50 GB SSD 100 GB SSD
Kubernetes (large teams)
Component CPU Request Memory Request Replicas API Server 500m 512 Mi 2+ Analysis Workers 1000m 1 Gi 2+ Web App 100m 128 Mi 2+
Infrastructure services (PostgreSQL, Redis, FalkorDB, Temporal) should be sized according to your repository count and team size. For production deployments with 50+ developers, use managed database services or dedicated nodes.
Networking
Inbound
Port Purpose 443 (HTTPS)User access to the web application and API
Outbound
Destination Purpose GitHub API (api.github.com)Repository access, webhook management, PR operations AI Provider API Model inference for code analysis (varies by provider)
If you use a self-hosted AI model provider, no outbound access to external AI APIs is needed.
Next Steps