Deploy Kodus on a Generic Virtual Machine.
Recommended Hardware
Required Software
Required Ports
kodus-web.yourdomain.com
.kodus-api.yourdomain.com
.Note: If you're only connecting to self-hosted Git tools on your network and do not require public access or webhooks, you might be able to use a simpler setup, but this guide focuses on public-facing deployments.
.env
file to version control. Keep your API keys and
database credentials secure..env
file with the following required variables:
.env
file to version control. Keep your API keys and
database credentials secure.http://localhost:3000
- you should see the Kodus Web Application interface.
/etc/nginx/sites-available/kodus
(or a name of your choice, e.g., kodus-web
and kodus-api
as separate files if preferred) and create a symbolic link to enable it:
kodus-web.yourdomain.com
and kodus-api.yourdomain.com
(or your chosen subdomains), you must ensure your .env
file correctly reflects these public URLs. Specifically, verify:WEB_HOSTNAME_API
: Should be set to only the hostname of your public API (e.g., kodus-api.yourdomain.com
), without any protocol (http://
or https://
).WEB_PORT_API
: Should correspond to the public port your API is accessible on (typically 443
for HTTPS or 80
for HTTP). The scheme (http/https) used by the frontend to call the API will often be inferred from this port or hardcoded in the frontend logic to use HTTPS.API_GITHUB_CODE_MANAGEMENT_WEBHOOK
): Ensure these are updated in your .env
file to use your full public API domain including the scheme (e.g., https://kodus-api.yourdomain.com/webhooks/github
).Core Services Logs
Infrastructure Service Logs
Web Interface Not Accessible
bash # Check if containers are running docker ps | grep kodus-web-prod # Verify port mappings docker port kodus-web-prod # Check web application logs docker logs kodus-web-prod
Common solutions: - Ensure ports 3000 and 3001 are
open in your firewall - Verify your Nginx configuration is correct - Check
for SSL certificate issues if using HTTPSGit Webhook Connection Errors
bash # Check orchestrator logs for webhook activity docker logs kodus-orchestrator-prod | grep webhook
Common solutions: - Verify your public URL is correctly
configured - Ensure your Git provider can reach your Kodus instance - Check
the webhook configuration in your Git providerDatabase Connection Issues
bash # Check database status docker ps | grep db_kodus_postgres docker ps | grep db_kodus_mongodb # View initialization logs docker logs db_kodus_postgres docker logs db_kodus_mongodb
Common solutions: - Restart the database
containers - Check for disk space issues - Verify your .env file has correct
database credentialsInstallation Script Fails
bash # Check the script logs cat kodus-installer.log # Verify Docker is running systemctl status docker # Check available disk space df -h
Common solutions: - Ensure
all required dependencies are installed - Verify Docker is running and
accessible - Check if you have sufficient disk space