Documentation Index
Fetch the complete documentation index at: https://docs.kodus.io/llms.txt
Use this file to discover all available pages before exploring further.
This guide is for local development purposes. For production deployment,
please refer to the Deploy Kodus
guide.
Local dev runs with
API_CLOUD_MODE=false, which is the same mode as a
self-hosted instance — and which means the daily anonymous heartbeat to
telemetry.kodus.io is enabled by default. If you don’t want your local
experiments showing up in the fleet, set KODUS_TELEMETRY_DISABLED=true
in your .env. See Anonymous Telemetry
for what is sent and how to inspect it.Prerequisites
- Node.js (LTS version)
- Docker
- Yarn or NPM
- LLM API Keys
Running the project
- Automated Setup (Recommended)
- Manual Setup
For a quick and automated setup, use our setup script:This script will automatically:With external integrations (webhooks, etc.):Once everything is running, open http://localhost:3000 in your browser.
- ✅ Check all required dependencies (Node.js, Yarn, Docker, OpenSSL)
- ✅ Install project dependencies
- ✅ Create and configure the
.envfile - ✅ Generate all required security keys automatically
- ✅ Set up Docker networks
- ✅ Provide clear next steps
Choose your LLM mode (required)
Select one mode and fill your .env before starting the services.- Fixed Mode (Recommended for Self-Hosted)
- Automatic Mode (High Quality)
This is the simplest mode and recommended for self-hosted installations. You only need to configure a single LLM model.
This mode is ideal for self-hosted because:
- Requires only a single API key
- Works with any OpenAI-compatible API provider
- Easier to configure and maintain
Model Configuration Guides
Check our model-specific guides for detailed setup instructions with popular providers like Novita, OpenAI, Anthropic, and more.
Next steps
Basic setup:Development workflow
Basic Local Development
- Start services:
yarn docker:start - Run migrations:
yarn migrate:dev - Load seed data:
yarn seed - Open the app: Visit
http://localhost:3000 - Health check:
yarn dev:health-check
Development with External Integrations
If you need to test integrations with external services (like Git webhooks):- Start services:
yarn docker:start && yarn migrate:dev && yarn seed - Create tunnel:
yarn tunnel(creates public endpoint) - Update webhook URLs: The tunnel command updates your
.envautomatically - Configure Git provider: Use the tunnel URL in your Git provider webhook settings
- Test integration: Trigger webhooks and monitor logs
Tunnel Benefits:
- Test real webhook integrations locally
- Debug external service communications
- Share your development environment with team members
- Test mobile apps or other external clients
Troubleshooting
Quick Health Check
- ✅ Services: Kodus API, Worker, Webhooks, Web, PostgreSQL, MongoDB, RabbitMQ
- 🔌 Port availability: Web (3000), API (3001), PostgreSQL (5432), MongoDB (27017), RabbitMQ (5672/15672)
- 🗄️ Database setup: Migrations and seed data
- 🌐 API endpoints: Health endpoints and basic connectivity
Manual Verification
- Check Web UI: Visit
http://localhost:3000in your browser - Check API health: Visit
http://localhost:3001/health - Check RabbitMQ: Visit
http://localhost:15672(default credentials:guest/guest) - Verify database connections: Check the logs for successful database connections
- Test webhook endpoints: Your Git provider webhooks should point to
http://localhost:3332/[provider]/webhook(or to your API domain if a reverse proxy routes/.../webhookto the webhooks service)
Setup Script Issues
If the automated setup script (yarn setup) fails:
Missing dependencies:
Common Issues
Port conflicts:- Ensure ports 3000 (Web), 3001 (API), 5432 (PostgreSQL), 27017 (MongoDB), and 5672/15672 (RabbitMQ) are available
- Stop other services using these ports before starting Kodus
- Verify your
.envfile exists in the project root - Check that there are no trailing spaces in variable assignments
- Ensure all required security keys were generated properly
- Run
yarn dev:health-checkto get detailed diagnostics - Check if containers are fully started (wait 1-2 minutes after
yarn docker:start) - Verify database migrations and seed data are loaded
- Check API logs with
yarn docker:logsfor startup errors
- The API takes time to fully initialize after container startup
- Check if migrations and seed data are loaded
- Verify the
.envfile has all required variables - Run health check to see which specific components are failing
- Use
yarn tunnelto create a public endpoint for external webhooks - Update your Git provider webhook URLs to use the tunnel URL
- Ensure the tunnel is running when testing webhook integrations
- Check tunnel logs for connection issues