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
- Configuración automatizada (recomendada)
- Configuración manual
Para una configuración rápida y automatizada, utiliza nuestro script de configuración:Este script realizará automáticamente:Con integraciones externas (webhooks, etc.):Una vez que todo esté en funcionamiento, abre http://localhost:3000 en tu navegador.
- ✅ 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.- Fixed Mode (Recommended for Self-Hosted)
- Automatic Mode (High Quality)
This is the simplest mode and recommended for self-hosted installations. You only need to configure a single LLM model.
This mode is ideal for self-hosted because:
- Requires only a single API key
- Works with any OpenAI-compatible API provider
- Easier to configure and maintain
Model Configuration Guides
Check our model-specific guides for detailed setup instructions with popular providers like Novita, OpenAI, Anthropic, and more.
Próximos pasos
Configuración básica:Flujo de trabajo de desarrollo
Desarrollo local básico
- Iniciar servicios:
yarn docker:start - Ejecutar migraciones:
yarn migrate:dev - Cargar datos iniciales:
yarn seed - Abrir la aplicación: Visita
http://localhost:3000 - Verificación de salud:
yarn dev:health-check
Desarrollo con integraciones externas
Si necesitas probar integraciones con servicios externos (como webhooks de Git):- Iniciar servicios:
yarn docker:start && yarn migrate:dev && yarn seed - Crear túnel:
yarn tunnel(crea un endpoint público) - Actualizar URLs de webhook: El comando tunnel actualiza tu
.envautomáticamente - Configurar el proveedor Git: Usa la URL del túnel en la configuración de webhooks de tu proveedor Git
- 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
- ✅ 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
- Verificar la interfaz web: Visita
http://localhost:3000en tu navegador - Verificar la salud de la API: Visita
http://localhost:3001/health - Verificar RabbitMQ: Visita
http://localhost:15672(credenciales por defecto:guest/guest) - Verificar las conexiones de base de datos: Revisa los logs para confirmar conexiones exitosas a la base de datos
- 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/.../webhookal servicio de webhooks)
Problemas con el script de configuración
Si el script de configuración automatizada (yarn setup) falla:
Dependencias faltantes:
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
- Verifica que tu archivo
.envexista 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
- Ejecuta
yarn dev:health-checkpara 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:logspara ver errores de inicio
- 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
.envtenga todas las variables requeridas - Ejecuta la verificación de salud para ver qué componentes específicos están fallando
- Usa
yarn tunnelpara 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