Server configuration
Environment variables
| Variable | Default | Purpose |
|---|---|---|
KONDUKTOR_DIR | ~/.konduktor | Data directory for DB, credentials, logs, and workspaces |
KONDUKTOR_EXTERNAL_URL | (none) | Public URL for the UI — used in PR description links (e.g. https://konduktor.example.com) |
KONDUKTOR_UI_DIR | (auto-detected) | Path to the built UI dist/ directory |
Server startup options
| Flag | Default | Purpose |
|---|---|---|
--host | 127.0.0.1 | Bind address |
--port | 8080 | Port |
Files
| Path | Purpose |
|---|---|
~/.konduktor/credentials | Server auth credentials (bcrypt hashed) |
~/.konduktor/konduktor.db | SQLite database |
~/.konduktor/server.log | Server log (10 MB max, 3 rotated backups) |
~/.konduktor/cli.json | CLI authentication token |
~/.konduktor/github-app.json | GitHub App config |
~/.konduktor/github-app.pem | GitHub App private key |
Workspace configuration
Auto-fix merge conflicts
When enabled, Konduktor automatically spawns an agent to resolve merge conflicts when they’re detected on a task’s PR branch.Custom agent prompt
Override the default system prompt that agents receive when running tasks:Workspace documents
Documents provide additional context to agents. Create documents that are injected into the agent’s context:Operational parameters
These are hardcoded defaults in the server. They cannot be changed via configuration, but are documented here for operational awareness.| Parameter | Value | Purpose |
|---|---|---|
| Max concurrent tasks | 6 | Maximum agent sessions running simultaneously |
| Stuck timeout | 120 min | Kill agents with no output after this duration |
| Stuck check interval | 2 min | How often the stuck detector runs |
| Orphan check interval | 10 min | How often the orphan detector runs |
| Worktree cleanup interval | 30 min | How often orphaned worktrees are cleaned |
| Worktree max age | 24 hours | Clean worktrees with no active session older than this |
| Conflict check interval | 1 min | How often merge conflicts are checked |
| Login rate limit | 5 attempts / 15 min | Per-IP rate limiting on the login endpoint |
| Inline doc size limit | 8,000 chars | Max total size of inline-injected documents per workspace |