Skip to main content
Paso opcional: Solo necesario si no usarás ningún balanceador de carga o servidor proxy.
Para hacer que tu instancia de Kodus sea accesible desde sistemas externos (necesario para los webhooks de revisión de código y el acceso público), deberás configurar un proxy inverso con Nginx. Aquí hay una configuración de Nginx de ejemplo para dos subdominios:
Los webhooks son gestionados por un servicio separado (puerto 3332). El bloque location ~ ^/(github|gitlab|bitbucket|azure-repos)/webhook es necesario si las URLs de tus webhooks usan el dominio de la API.

Opcional: Subdominio dedicado para webhooks

Si prefieres un dominio separado para los webhooks (ej., kodus-webhooks.yourdomain.com), agrega un bloque de servidor que apunte al servicio de webhooks:
Guarda esta configuración en /etc/nginx/sites-available/kodus (o con el nombre de tu elección, ej., kodus-web y kodus-api como archivos separados si lo prefieres) y crea un enlace simbólico para habilitarla:
Actualización importante de configuración para el proxy inverso:Después de configurar el proxy inverso con kodus-web.yourdomain.com y kodus-api.yourdomain.com (o los subdominios que hayas elegido), debes asegurarte de que tu archivo .env refleje correctamente estas URLs públicas. Específicamente, verifica:
  • WEB_HOSTNAME_API: Debe establecerse con solo el hostname de tu API pública (ej., kodus-api.yourdomain.com), sin ningún protocolo (http:// o https://).
  • WEB_PORT_API: Debe corresponder al puerto público en el que tu API es accesible (típicamente 443 para HTTPS o 80 para HTTP). El esquema (http/https) que usa el frontend para llamar a la API generalmente se infiere de este puerto o está codificado en la lógica del frontend para usar HTTPS.
  • URLs de webhook (ej., API_GITHUB_CODE_MANAGEMENT_WEBHOOK): Asegúrate de que resuelvan al servicio de webhooks. Puedes usar el dominio de la API solo si /.../webhook enruta al puerto 3332, o usa un dominio dedicado para webhooks (ej., https://kodus-webhooks.yourdomain.com/github/webhook).
No actualizar esto correctamente puede resultar en problemas de autenticación, incapacidad de la aplicación web para conectarse a la API, o webhooks que no funcionan.

Habilitar SSL (recomendado)

Para despliegues en producción, recomendamos encarecidamente configurar SSL con Let’s Encrypt:
Esto configurará automáticamente tu Nginx para usar HTTPS y redirigir el tráfico HTTP para ambos subdominios.