Saltar al contenido principal
Esta guía es para propósitos de desarrollo local. Para el despliegue en producción, consulta la guía Desplegar Kodus.

Requisitos previos

  • Node.js (versión LTS)
  • Docker
  • Yarn o NPM
  • Claves de API de LLM

Ejecutar el proyecto

Para una configuración rápida y automatizada, utiliza nuestro script de configuración:
git clone https://github.com/kodustech/kodus-ai.git
cd kodus-ai
yarn setup
Este script realizará automáticamente:
  • ✅ Verificar todas las dependencias requeridas (Node.js, Yarn, Docker, OpenSSL)
  • ✅ Instalar las dependencias del proyecto
  • ✅ Crear y configurar el archivo .env
  • ✅ Generar todas las claves de seguridad requeridas automáticamente
  • ✅ Configurar las redes de Docker
  • ✅ Proporcionar los próximos pasos de forma clara

Elige tu modo LLM (obligatorio)

Selecciona un modo y completa tu .env antes de iniciar los servicios.

Próximos pasos

Configuración básica:
yarn docker:start
yarn migrate:dev
yarn seed
Con integraciones externas (webhooks, etc.):
yarn docker:start
yarn migrate:dev
yarn seed
yarn tunnel  # Crea un endpoint público para servicios externos
Una vez que todo esté en funcionamiento, abre http://localhost:3000 en tu navegador.

Flujo de trabajo de desarrollo

Desarrollo local básico

  1. Iniciar servicios: yarn docker:start
  2. Ejecutar migraciones: yarn migrate:dev
  3. Cargar datos iniciales: yarn seed
  4. Abrir la aplicación: Visita http://localhost:3000
  5. Verificación de salud: yarn dev:health-check

Desarrollo con integraciones externas

Si necesitas probar integraciones con servicios externos (como webhooks de Git):
  1. Iniciar servicios: yarn docker:start && yarn migrate:dev && yarn seed
  2. Crear túnel: yarn tunnel (crea un endpoint público)
  3. Actualizar URLs de webhook: El comando tunnel actualiza tu .env automáticamente
  4. Configurar el proveedor Git: Usa la URL del túnel en la configuración de webhooks de tu proveedor Git
  5. Probar la integración: Dispara webhooks y monitorea los logs
Ventajas del túnel:
  • Probar integraciones de webhook reales localmente
  • Depurar comunicaciones con servicios externos
  • Compartir tu entorno de desarrollo con compañeros de equipo
  • Probar aplicaciones móviles u otros clientes externos

Solución de problemas

Verificación rápida de salud

yarn dev:health-check
Esta verificación de salud exhaustiva valida:
  • Servicios: Kodus API, Worker, Webhooks, Web, PostgreSQL, MongoDB, RabbitMQ
  • 🔌 Disponibilidad de puertos: Web (3000), API (3001), PostgreSQL (5432), MongoDB (27017), RabbitMQ (5672/15672)
  • 🗄️ Configuración de base de datos: Migraciones y datos iniciales
  • 🌐 Endpoints de API: Endpoints de salud y conectividad básica

Verificación manual

  1. Verificar la interfaz web: Visita http://localhost:3000 en tu navegador
  2. Verificar la salud de la API: Visita http://localhost:3001/health
  3. Verificar RabbitMQ: Visita http://localhost:15672 (credenciales por defecto: guest/guest)
  4. Verificar las conexiones de base de datos: Revisa los logs para confirmar conexiones exitosas a la base de datos
  5. Probar los endpoints de webhook: Los webhooks de tu proveedor Git deben apuntar a http://localhost:3332/[proveedor]/webhook (o al dominio de tu API si un proxy inverso enruta /.../webhook al servicio de webhooks)

Problemas con el script de configuración

Si el script de configuración automatizada (yarn setup) falla: Dependencias faltantes:
# Verificar si todas las herramientas requeridas están instaladas
node --version
yarn --version
docker --version
openssl version
Problemas de permisos con Docker:
# Agregar tu usuario al grupo docker (Linux/macOS)
sudo usermod -aG docker $USER
# Luego cierra sesión y vuelve a iniciarla
Errores al crear redes:
# Verificar si las redes ya existen
docker network ls | grep kodus
# Eliminar redes conflictivas si es necesario
docker network rm kodus-backend-services shared-network

Problemas comunes

Conflictos de puertos:
  • Asegúrate de que los puertos 3000 (Web), 3001 (API), 5432 (PostgreSQL), 27017 (MongoDB) y 5672/15672 (RabbitMQ) estén disponibles
  • Detén otros servicios que usen estos puertos antes de iniciar Kodus
Variables de entorno no se cargan:
  • Verifica que tu archivo .env exista en la raíz del proyecto
  • Comprueba que no haya espacios al final en las asignaciones de variables
  • Asegúrate de que todas las claves de seguridad requeridas se hayan generado correctamente
Fallos en la verificación de salud:
  • Ejecuta yarn dev:health-check para obtener diagnósticos detallados
  • Comprueba si los contenedores están completamente iniciados (espera 1-2 minutos después de yarn docker:start)
  • Verifica que las migraciones de base de datos y los datos iniciales estén cargados
  • Revisa los logs de la API con yarn docker:logs para ver errores de inicio
La API no responde:
  • La API tarda un tiempo en inicializarse completamente después de que el contenedor arranca
  • Verifica si las migraciones y los datos iniciales están cargados
  • Comprueba que el archivo .env tenga todas las variables requeridas
  • Ejecuta la verificación de salud para ver qué componentes específicos están fallando
Problemas de webhooks con servicios externos:
  • Usa yarn tunnel para crear un endpoint público para webhooks externos
  • Actualiza las URLs de webhook de tu proveedor Git para usar la URL del túnel
  • Asegúrate de que el túnel esté activo cuando pruebes integraciones de webhook
  • Revisa los logs del túnel para detectar problemas de conexión