Skip to main content

Requisitos del Sistema

Dimensionado para el modo de sandbox local por defecto (kodus-graph
  • contexto cross-file corren dentro del contenedor worker).
  • CPU: 2+ núcleos (4+ recomendado para repos arriba de ~100k LOC)
  • RAM: 8GB+ (16GB recomendado al ejecutar el sandbox local en repos grandes)
  • Almacenamiento: 60GB+ de espacio libre (Postgres guarda el caché del AST graph; crece con la cantidad de repos y volumen de PRs)
  • Docker (última versión estable) con el plugin Compose
  • Nombre de dominio o IP fija si quieres recibir webhooks de proveedores Git en la nube (GitHub.com, GitLab.com, etc.)
Mapeos por defecto de puertos del host — ajusta en .env si hay conflicto.
  • 3000 — Kodus Web App
  • 3001 — API
  • 3332 — Webhooks
  • 5432 — PostgreSQL
  • 27017 — MongoDB
  • 5672, 15672, 15692 — RabbitMQ (AMQP, panel, métricas)
  • 3101 — MCP Manager (solo si API_MCP_SERVER_ENABLED=true)
Lo que ./scripts/install.sh levanta, basado en tu .env.Core (siempre activos):
  • api — backend principal
  • worker — jobs de code review
  • webhooks — receptor de webhooks de proveedores Git
  • kodus-web — frontend Next.js
  • db_kodus_postgres, db_kodus_mongodb, rabbitmq — infraestructura local. Sáltalo con USE_LOCAL_DB=false / USE_LOCAL_RABBITMQ=false para apuntar a instancias gestionadas.
Opcionales:
  • kodus-mcp-manager — broker del Model Context Protocol. Habilita con API_MCP_SERVER_ENABLED=true. Ver MCP Manager.
  • worker-analytics — ingestión del Cockpit (métricas DORA, classifier de PR). Exclusivo del self-hosted Enterprise, no se activa por defecto. Ver Analytics Worker.
Code review usa un AST graph + contexto cross-file que corre en un sandbox — local (default, dentro del worker) o e2b (sandbox remoto pago). Ver Sandbox & AST Graph para los modos, comportamiento de caché, y cuándo elegir cada uno.
Se requiere acceso a internet si planeas conectarte a servicios Git en la nube (GitHub, GitLab, Bitbucket) o proveedores de LLM en la nube (OpenAI, Anthropic, etc.). Para herramientas Git auto-alojadas y LLMs on-premise dentro de tu red, el acceso externo a internet es opcional.

Configuración de Dominio (Opcional)

Si planeas integrar Kodus con proveedores Git en la nube (GitHub, GitLab o Bitbucket), necesitarás URLs públicas tanto para la aplicación web de Kodus como para su API. Esto permite que tu servidor reciba webhooks para el correcto funcionamiento de la Revisión de Código y garantiza el comportamiento correcto de la aplicación. Recomendamos configurar dos subdominios:
  • Uno para la Aplicación Web, por ejemplo, kodus-web.tudominio.com.
  • Uno para la API, por ejemplo, kodus-api.tudominio.com.
Los webhooks son gestionados por un servicio separado (puerto 3332). Puedes:
  • Usar un subdominio dedicado para webhooks, por ejemplo, kodus-webhooks.tudominio.com, o
  • Seguir usando el dominio de la API y enrutar /github/webhook, /gitlab/webhook, etc. al servicio de webhooks en tu proxy inverso.
Ambos subdominios deben tener registros DNS A apuntando a la dirección IP de tu servidor. Más adelante en esta guía, configuraremos un proxy inverso (Nginx) para enrutar las solicitudes de estos subdominios a los servicios internos correctos. Esta configuración es esencial para la funcionalidad completa, incluyendo webhooks y autenticación.
Nota: Si solo te conectas a herramientas Git auto-alojadas en tu red y no necesitas acceso público ni webhooks, podrías usar una configuración más simple, pero esta guía se centra en despliegues con acceso público.

Configuración

1

Clonar el repositorio del instalador

2

Copiar el archivo de entorno de ejemplo

3

Generar claves seguras para las variables de entorno requeridas

4

Editar el archivo de entorno

Edita .env con tus valores usando tu editor de texto preferido.
Consulta Configuración de Variables de Entorno para instrucciones detalladas.
5

Ejecutar el instalador

6

¡Éxito! 🎉

Una vez completado, los servicios de Kodus deberían estar ejecutándose en tu máquina. Puedes verificar la instalación con el siguiente script:
7

Acceder a la interfaz web

Al acceder a la interfaz web por primera vez, necesitarás:
  1. Crear tu cuenta de administrador - Este será el primer usuario con acceso completo al sistema
  2. Configurar tu proveedor Git - Conecta GitHub, GitLab o Bitbucket siguiendo las instrucciones en pantalla
  3. Seleccionar repositorios para análisis - Elige qué repositorios de código revisará Kody
Para pasos detallados sobre el proceso de configuración inicial, consulta nuestra Guía de Inicio Rápido.

Configuración de variables de entorno

Usa esta sección para completar tu .env. Comienza con las URLs públicas, luego configura las bases de datos y RabbitMQ, y finalmente agrega la configuración específica de cada proveedor.

Configuración de espacio de nombres

Estas configuraciones definen las URLs públicas y el enlace de host utilizados por la aplicación web y la API. Si no usas MCP Manager, puedes omitir las entradas de MCP aquí y el bloque completo a continuación.

Configuración del proveedor LLM

Consulta nuestras guías específicas por modelo para obtener instrucciones detalladas de configuración con proveedores populares como Novita, OpenAI, Anthropic y más.

Configuración de base de datos

Usa contenedores locales para Postgres y MongoDB de forma predeterminada. Actualiza las credenciales para que cumplan con tus requisitos de seguridad.
Para bases de datos integradas, deja API_PG_DB_PASSWORD y API_MG_DB_PASSWORD en blanco y ejecuta ./scripts/generate-secrets.sh para generarlas, o define las tuyas. Para bases de datos externas, usa la contraseña de la base de datos existente.

Configuración de RabbitMQ

RabbitMQ es obligatorio en la versión 2.0. Mantén la URI sincronizada con los valores a continuación.

Configuración del worker

El contenedor del worker necesita un rol para saber qué carga manejar. Self-hosted solo ejecuta el rol de revisión de código; el rol de analytics es exclusivo de cloud.
Dejar WORKER_ROLE vacío hace que el worker falle al iniciar. Como es el worker quien crea las colas workflow.jobs.* en la primera conexión, la api y los webhooks luego fallan cada evento de webhook con QueueBind 404.

Configuración del proveedor Git

Elige y configura tu proveedor Git preferido. Puedes configurar uno o más proveedores; para la autenticación básica basada en token, solo necesitas la URL del webhook.
Los webhooks son gestionados por un servicio separado (puerto 3332). Las URLs de tus webhooks deben llegar a ese servicio. Puedes usar un dominio dedicado para webhooks, o mantener el dominio de la API y enrutar las rutas /.../webhook al servicio de webhooks en tu proxy inverso. ¿Usas OAuth de GitHub o GitLab? Consulta OAuth App de GitHub o OAuth App de GitLab. Para la configuración de GitHub App, consulta GitHub App.

Configuración del MCP Manager

Solo necesario si deseas usar MCP Manager.
MCP Manager es el servicio que conecta Kody con herramientas externas y las expone en la pantalla de Plugins. Consulta nuestra documentación de MCP Manager para más información.

Configuración de servicios externos (opcional)

Estos servicios son opcionales pero mejoran significativamente la calidad de la revisión de código de Kodus. Cada uno requiere crear una cuenta y generar una clave de API.
E2B proporciona un sandbox seguro que Kodus usa para ejecutar y validar código durante las revisiones.
  1. Crea una cuenta en e2b.dev
  2. Genera una clave de API en tu panel de control
  3. Agrégala a tu .env:
MorphLLM es un modelo especializado para la edición de código rápida y precisa. Kodus lo utiliza para aplicar sugerencias de revisión con mayor precisión.
  1. Crea una cuenta en morphllm.com
  2. Genera una clave de API en tu panel de control
  3. Agrégala a tu .env:

¿Necesitas ayuda?

Programa una llamada con nuestro fundador para obtener ayuda con tu despliegue.

Obtén ayuda en nuestra comunidad

Únete a nuestra comunidad para obtener ayuda con tu despliegue.