Saltar al contenido principal

Requisitos del Sistema

  • CPU: 2+ núcleos - RAM: 8GB+ - Almacenamiento: 60GB+ de espacio libre
  • Docker (última versión estable)
  • Node.js (última versión LTS)
  • Yarn o NPM (última versión estable)
  • Nombre de dominio o IP fija (para despliegues externos)
  • 3000: Kodus Web App
  • 3001: API
  • 3332: Webhooks
  • 5672, 15672, 15692: RabbitMQ (AMQP, administración, métricas)
  • 3101: MCP Manager (API, métricas)
  • 5432: PostgreSQL - 27017: MongoDB
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

git clone https://github.com/kodustech/kodus-installer.git
cd kodus-installer
2

Copiar el archivo de entorno de ejemplo

cp .env.example .env
3

Generar claves seguras para las variables de entorno requeridas

./generate-keys.sh
4

Editar el archivo de entorno

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

Ejecutar el instalador

./scripts/install.sh
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:
./scripts/doctor.sh
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.
WEB_HOSTNAME_API="kodus-api.yourdomain.com"    # Hostname público de la API (ej., kodus-api.yourdomain.com)
NEXTAUTH_URL="https://kodus-web.yourdomain.com" # URL base pública completa para la aplicación web (ej., https://kodus-web.yourdomain.com)
API_HOST=0.0.0.0                              # Host de la API (0.0.0.0 para desarrollo local)

# Solo necesario si quieres usar las funcionalidades de MCP.
API_KODUS_SERVICE_MCP_MANAGER=http://kodus-mcp-manager:3101 # URL del MCP Manager
API_KODUS_MCP_SERVER_URL=http://kodus-api.yourdomain.com/mcp # URL del servidor MCP de Kodus

Configuración del proveedor LLM

API_LLM_PROVIDER_MODEL="gpt-5"     # Modelo que deseas utilizar
API_OPENAI_FORCE_BASE_URL="https://your-api.com/v1"  # URL de tu proveedor de API
API_OPEN_AI_API_KEY="your-api-key"          # Clave de tu proveedor de API
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.
# Usar contenedores locales para Postgres y MongoDB
USE_LOCAL_DB=true

# Configuración de PostgreSQL
API_DATABASE_ENV="development"                # development, production, test
API_PG_DB_HOST=db_kodus_postgres              # Host de PostgreSQL
API_PG_DB_PORT=5432                          # Puerto de PostgreSQL
API_PG_DB_USERNAME=kodusdev                  # Nombre de usuario de la base de datos
API_PG_DB_PASSWORD=                          # Contraseña de la base de datos
API_PG_DB_DATABASE=kodus_db                  # Nombre de la base de datos

# Configuración de MongoDB
API_MG_DB_HOST=db_kodus_mongodb              # Host de MongoDB
API_MG_DB_PORT=27017                         # Puerto de MongoDB
API_MG_DB_USERNAME=kodusdev                  # Nombre de usuario de la base de datos
API_MG_DB_PASSWORD=                          # Contraseña de la base de datos
API_MG_DB_DATABASE=kodus                     # Nombre de la base de datos
API_MG_DB_PRODUCTION_CONFIG=''               # Configuración adicional de producción

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 de RabbitMQ
USE_LOCAL_RABBITMQ=true
RABBITMQ_HOSTNAME=rabbitmq                   # Hostname de RabbitMQ en la red Docker
RABBITMQ_DEFAULT_USER=kodus                  # Usuario de RabbitMQ (cambiar en producción)
RABBITMQ_DEFAULT_PASS=kodus                  # Contraseña de RabbitMQ (cambiar en producción)

# Mantén la URI sincronizada con el usuario, contraseña y vhost de arriba
API_RABBITMQ_URI=amqp://kodus:kodus@rabbitmq:5672/kodus-ai # URI de conexión a RabbitMQ
API_RABBITMQ_ENABLED=true                    # RabbitMQ es obligatorio

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.
# Requerido para autenticación basada en token
API_GITHUB_CODE_MANAGEMENT_WEBHOOK="https://kodus-api.yourdomain.com/github/webhook"          # URL del webhook (usa el dominio de webhooks, o el dominio de la API si se enruta al servicio de webhooks)

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.
API_MCP_SERVER_ENABLED=false # Cambiar a true si deseas usar MCP Manager
---
API_KODUS_SERVICE_MCP_MANAGER=http://kodus-mcp-manager:3101
API_KODUS_MCP_SERVER_URL=http://localhost:3001/mcp

# Configuración de MCP Manager
API_MCP_MANAGER_LOG_LEVEL=info
API_MCP_MANAGER_PORT=3101
API_MCP_MANAGER_NODE_ENV=development
API_MCP_MANAGER_DATABASE_ENV=development
API_MCP_MANAGER_CORS_ORIGINS=*
API_MCP_MANAGER_JWT_SECRET=
API_MCP_MANAGER_COMPOSIO_BASE_URL=https://backend.composio.dev/api/v3
API_MCP_MANAGER_COMPOSIO_API_KEY=
API_MCP_MANAGER_MCP_PROVIDERS=kodusmcp,composio,custom
API_MCP_MANAGER_REDIRECT_URI=http://localhost:3000/setup/mcp/oauth
API_MCP_MANAGER_PG_DB_SCHEMA=mcp-manager
API_MCP_MANAGER_ENCRYPTION_SECRET=

Configuración de revisión de código AST

Solo necesario si deseas habilitar la revisión de código basada en AST.
El servicio AST analiza, recorta y manipula archivos de código antes de que lleguen al pipeline de revisión. Esto mejora la calidad de la revisión y reduce el consumo de tokens. Está incluido en el instalador y se ejecuta como un contenedor separado.
API_ENABLE_CODE_REVIEW_AST=false  # Establecer en true para habilitar la revisión de código basada en AST
API_SERVICE_AST_URL=              # URL interna del servicio AST
El servicio AST también tiene su propio bloque de configuración. Estos valores están preconfigurados por el instalador, pero se pueden ajustar para que coincidan con tu entorno:
# KODUS_SERVICE_AST
NODE_ENV=development
API_NODE_ENV=development
API_LOG_PRETTY=true
API_LOG_LEVEL=info

CONTAINER_NAME=kodus-service-ast
API_PORT=3002

# PostgreSQL — mantener sincronizado con la configuración principal de la base de datos
API_DATABASE_ENV="development"
API_PG_DB_HOST=postgres
API_PG_DB_PORT=5432
API_PG_DB_USERNAME=                # Igual que API_PG_DB_USERNAME
API_PG_DB_PASSWORD=                # Igual que API_PG_DB_PASSWORD
API_PG_DB_DATABASE=kodus_db
API_PG_DB_SCHEMA=kodus_workflow

# RabbitMQ — mantener sincronizado con la configuración principal de RabbitMQ
RABBIT_URL=                        # ej. amqp://user:pass@rabbitmq:5672/vhost
RABBIT_RETRY_QUEUE=ast.jobs.retry.q
RABBIT_RETRY_TTL_MS=60000
RABBIT_PREFETCH=1
RABBIT_PUBLISH_TIMEOUT_MS=5000
RABBIT_SAC=false

# LangChain (opcional — para trazado)
LANGCHAIN_TRACING_V2=false
LANGCHAIN_API_KEY=
LANGCHAIN_PROJECT=kodus-service-ast

# Almacenamiento compartido
SHARED_STORAGE_PATH=/shared

# S3 (opcional)
S3_ENABLED=false
S3_BUCKET_NAME=
AWS_REGION=

# Opciones de construcción de grafos
ENABLE_INCREMENTAL_GRAPH=false
ENABLE_GRAPH_BENCHMARK=false
ENABLE_LIGHTWEIGHT_GRAPH=false

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:
API_E2B_KEY=your-e2b-api-key
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:
API_MORPHLLM_API_KEY=your-morphllm-api-key

¿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.