Skip to main content

Configuration Files

Kortix uses environment files for configuration:
  • backend/.env - Backend API configuration
  • apps/frontend/.env.local - Frontend configuration
  • .setup_progress - Setup wizard state (can be deleted after setup)
Never commit .env files to version control. They contain sensitive API keys and secrets.

Required Configuration

These settings are required for Kortix to function:

Supabase

Finding Supabase credentials:
  1. Go to Supabase Dashboard
  2. Select your project
  3. Go to Project Settings → API:
    • Project URL - Shown at the top
    • Anon key - Under “Project API keys”
    • Service role key - Under “Project API keys” (keep secret!)
    • JWT Secret - Under “JWT Settings” (copy exactly!)
  4. Go to Project Settings → Database:
    • Connection string - Use “Transaction mode” pooler
The JWT secret must match exactly or authentication will fail with “alg value is not allowed” errors.

Daytona

Get your API key from app.daytona.io/keys

Composio

Get your API key from app.composio.dev/settings/api-keys

LLM Provider

Kortix requires at least one LLM provider. Configure your main provider:
Default models per provider:
  • anthropic - claude-haiku-4-5-20251001
  • bedrock - bedrock/anthropic.claude-3-haiku-20240307-v1:0
  • grok - openrouter/x-ai/grok-4.1-fast
  • openai - openrouter/openai/gpt-4o-mini
  • minimax - openrouter/minimax/minimax-m2.1
You can override these with MAIN_LLM_MODEL.

Optional Configuration

Additional LLM Providers

Configure multiple LLM providers for flexibility:

Search & Web APIs

Provider details:

RapidAPI

Get your key from rapidapi.com/developer/security

Webhooks

MCP (Model Context Protocol)

Frontend Configuration

The frontend .env.local file:

Redis Configuration

Redis settings (used for caching and queues):

Backend Service Configuration

Security Configuration

Encryption Keys

These are auto-generated during setup. Never share or commit them.

JWT Configuration

JWT settings are inherited from Supabase:
This must match your Supabase project’s JWT secret exactly.

Monitoring & Observability

Production Deployment Variables

For production deployments (AWS, etc.):

Environment Variable Reference

Quick Lookup Table

*Required based on MAIN_LLM selection

Configuration Best Practices

1

Use Strong Secrets

Generate strong, unique values for all secrets and encryption keys.
2

Keep Credentials Separate

Never commit .env files. Use .gitignore and secret management tools.
3

Use Environment-Specific Configs

Maintain separate configurations for development, staging, and production.
4

Rotate Keys Regularly

Periodically rotate API keys and secrets, especially after team changes.
5

Monitor Usage

Track API usage and costs for LLM providers and third-party services.

Updating Configuration

To update configuration after initial setup:

Next Steps

Deployment

Deploy Kortix to production

Troubleshooting

Fix common configuration issues