Skip to main content

Prerequisites

Before starting, ensure you have:
  • Git installed
  • Docker installed and running (check with docker --version)
  • For manual setup: Node.js 18+, Python 3.11+, pnpm, and uv

Clone the Repository

First, clone the Kortix repository:

Setup Methods

Kortix offers two setup methods. The setup wizard will guide you through choosing one.

Docker Setup

Best for: Production deployments, quick testing, users who prefer containerized environments Pros:
  • Fastest setup
  • Isolated environments
  • Easy updates and rollbacks
  • Consistent across different systems
Cons:
  • Limited to cloud Supabase only (local Supabase not supported)
  • Slightly higher resource usage

Manual Setup

Best for: Development, customization, debugging Pros:
  • Full control over each service
  • Easier to debug and modify
  • Better for development workflows
  • Lower resource overhead
Cons:
  • More complex setup
  • Requires managing multiple processes
  • Limited to cloud Supabase only
Important: Both setup methods currently only support cloud Supabase. Local Supabase integration is not available due to Docker networking limitations. See GitHub issue #1920 for updates.

Run the Setup Wizard

The interactive setup wizard configures all required services:

What the Wizard Does

The wizard guides you through these steps:
1

Choose Setup Method

Select between Docker Compose or Manual setup based on your needs.
2

Check Requirements

Verifies all required tools are installed (Git, Docker, Node.js, etc.).
3

Configure Supabase

Set up your Supabase project:
  • Project URL
  • Anon key
  • Service role key
  • JWT secret (critical for authentication)
  • Database connection URL
Find these in your Supabase Dashboard → Project Settings → API
4

Configure Daytona

Enter your Daytona API key for agent execution environments.Get your key from app.daytona.io/keys
5

Select Main LLM Provider

Choose your primary LLM provider:
  • Anthropic Claude
  • AWS Bedrock
  • Grok via OpenRouter
  • OpenAI via OpenRouter
  • MiniMax via OpenRouter
  • Custom model
6

Configure Optional Services

Optionally configure:
  • Additional LLM providers
  • Search APIs (Tavily, Firecrawl, Serper, Exa)
  • RapidAPI
  • Webhooks
  • MCP (Model Context Protocol)
7

Configure Composio

Enter your Composio API key (required for tool integrations).Get your key from app.composio.dev/settings/api-keys
8

Write Configuration Files

The wizard automatically creates:
  • backend/.env - Backend configuration
  • apps/frontend/.env.local - Frontend configuration
  • .setup_progress - Resume data (can be deleted after setup)
The wizard saves progress after each step. If interrupted, just run python setup.py again to resume.

Start Services

After completing the setup wizard, start Kortix:

Start Script Options

The start script automatically detects your setup method:

Docker Setup

If you chose Docker Compose, services start automatically:
This runs:
  • Redis - Message queue and caching (port 6379)
  • Backend - API server (port 8000)
  • Frontend - Web interface (port 3000)

Docker Commands

Manual Setup

If you chose Manual setup, the start script launches services in the background:
This starts:
  1. Redis (Docker container)
  2. Backend (native process, logged to backend.log)
  3. Frontend (native process, logged to frontend.log)

Manual Commands

View logs:
Start services individually:
On macOS/Linux, background processes are logged to files. On Windows, services open in separate command windows.

Access Kortix

Once all services are running:

Verify Installation

1

Check Service Status

All services should show as “Running”.
2

Access Frontend

Open http://localhost:3000 in your browser.
3

Create Account

Sign up with your email. Supabase handles authentication.
4

Test Agent

Try the Kortix Super Worker agent to verify everything works.

Update Configuration

To add or update API keys after initial setup:
The wizard detects existing configuration and offers:
  • Add/Update API Keys - Configure additional LLM providers, search APIs, etc.
  • Clear setup and start fresh - Remove all configuration and restart

Next Steps

Configuration

Learn about all available configuration options

Deployment

Deploy to production environments