Novita is a serverless infrastructure platform for AI, designed to scale open-source models with low latency and reduced cost. It supports hundreds of production-ready models — including Llama, Mistral, Claude, and Stable Diffusion — and provides optimized APIs, on-demand GPUs, and custom model deployments without any DevOps overhead.
Docker (latest stable version) - Node.js (latest LTS version) - Yarn or
NPM (latest stable version) - Domain name or fixed IP (for external
deployments)
Required Ports
3000: Kodus Web App - 3001: Orchestrator API - 5672, 15672: RabbitMQ -
5432: PostgreSQL - 27017: MongoDB
Internet access is only required if you plan to connect with cloud-based Git
services like GitHub, GitLab, or Bitbucket. For self-hosted Git tools within
your network, external internet access is optional.
If you're planning to integrate Kodus with cloud-based Git providers (GitHub, GitLab, or Bitbucket), you'll need public-facing URLs for both the Kodus Web App and its API. This allows your server to receive webhooks for proper Code Review functionality and ensures correct application behavior.
We recommend setting up two subdomains:
One for the Web Application, e.g., kodus-web.yourdomain.com.
One for the API, e.g., kodus-api.yourdomain.com.
Both subdomains should have DNS A records pointing to your server's IP address. Later in this guide, we will configure a reverse proxy (Nginx) to route requests to these subdomains to the correct internal services. This setup is essential for full functionality, including webhooks and authentication.
Note: If you're only connecting to self-hosted Git tools on your network and do not require public access or webhooks, you might be able to use a simpler setup, but this guide focuses on public-facing deployments.
Edit your .env file and configure the core settings. For LLM Integration, use Novita in Fixed Mode:
Copy
# Core System Settings (update with your domains)WEB_HOSTNAME_API="kodus-api.yourdomain.com" WEB_PORT_API=443 NEXTAUTH_URL="https://kodus-web.yourdomain.com"# Security Keys (generate with openssl commands above)WEB_NEXTAUTH_SECRET="your-generated-secret"WEB_JWT_SECRET_KEY="your-generated-secret"API_CRYPTO_KEY="your-generated-hex-key"API_JWT_SECRET="your-generated-secret"API_JWT_REFRESHSECRET="your-generated-secret"# Database ConfigurationAPI_PG_DB_PASSWORD="your-secure-db-password"API_MG_DB_PASSWORD="your-secure-db-password"# Novita Configuration (Fixed Mode) API_LLM_PROVIDER_MODEL="deepseek-v3-0324" # Choose your preferred modelAPI_OPENAI_FORCE_BASE_URL="https://api.novita.ai/v3/openai" # Novita API URLAPI_OPEN_AI_API_KEY="your-novita-api-key" # Your Novita API Key# Git Provider Webhooks (choose your provider)API_GITHUB_CODE_MANAGEMENT_WEBHOOK="https://kodus-api.yourdomain.com/github/webhook"# or API_GITLAB_CODE_MANAGEMENT_WEBHOOK="https://kodus-api.yourdomain.com/gitlab/webhook"# or GLOBAL_BITBUCKET_CODE_MANAGEMENT_WEBHOOK="https://kodus-api.yourdomain.com/bitbucket/webhook"
Fixed Mode is ideal for Novita because it provides OpenAI-compatible APIs and requires only one API key. This simplifies your setup significantly.
Clones repositories and configures environment files
Runs docker-compose to start all services
Executes database migrations
Seeds initial data
🎉 Success! When complete, Kodus Orchestrator API and Web Application should be running on your machine.
You can verify your installation by visiting http://localhost:3000 - you should see the Kodus Web Application interface.
Code Review features will not work yet unless you complete the reverse proxy
setup. Without this configuration, external Git providers cannot send webhooks
to your instance.