Server commands
Thekonduktor-server binary manages the backend:
Data directory
All Konduktor data lives under~/.konduktor/ by default:
Override the data directory with the
KONDUKTOR_DIR environment variable:
Environment variables
Running as a systemd service (Linux)
The one-liner install script creates a systemd unit at/etc/systemd/system/konduktor.service. Common operations:
- Auto-restart on failure (5-second delay)
- Read-only filesystem with write access only to
~/.konduktor - Process isolation (
NoNewPrivileges=true)
Running on macOS
macOS doesn’t use systemd. Start the server manually:Reverse proxy (nginx)
The install script optionally configures nginx. To set it up manually:Upgrade and Connection headers are required for SSE log streaming to work correctly.
For HTTPS, use certbot:
Exposing for webhooks (development)
If your server isn’t publicly accessible and you want to use GitHub webhooks, you’ll need to use a tunneling service like Cloudflare Tunnel, ngrok, or zrok:/api/webhooks/github.
Database
Konduktor uses SQLite in WAL mode for concurrent read/write access. The database is at~/.konduktor/konduktor.db.
Migrations run automatically on server startup. To run them manually:
~/.konduktor directory to ensure you have a complete backup of all your data.
Background processes
The server runs several background tasks:Health check
Resource metrics
Logging
Server logs go to both stderr (or systemd journal) and~/.konduktor/server.log (10 MB, 3 rotated backups).