Pular para o conteúdo principal
Este guia é destinado ao desenvolvimento local. Para implantação em produção, consulte o guia Implantar Kodus.

Pré-requisitos

  • Node.js (versão LTS)
  • Docker
  • Yarn ou NPM
  • Chaves de API de LLM

Executando o projeto

Para uma configuração rápida e automatizada, use nosso script de setup:
git clone https://github.com/kodustech/kodus-ai.git
cd kodus-ai
yarn setup
Este script irá automaticamente:
  • ✅ Verificar todas as dependências necessárias (Node.js, Yarn, Docker, OpenSSL)
  • ✅ Instalar as dependências do projeto
  • ✅ Criar e configurar o arquivo .env
  • ✅ Gerar automaticamente todas as chaves de segurança necessárias
  • ✅ Configurar as redes Docker
  • ✅ Fornecer os próximos passos de forma clara

Escolha seu modo de LLM (obrigatório)

Selecione um modo e preencha seu .env antes de iniciar os serviços.

Próximos passos

Configuração básica:
yarn docker:start
yarn migrate:dev
yarn seed
Com integrações externas (webhooks, etc.):
yarn docker:start
yarn migrate:dev
yarn seed
yarn tunnel  # Cria endpoint público para serviços externos
Após tudo estar em execução, abra http://localhost:3000 no seu navegador.

Fluxo de desenvolvimento

Desenvolvimento Local Básico

  1. Iniciar serviços: yarn docker:start
  2. Executar migrações: yarn migrate:dev
  3. Carregar dados iniciais: yarn seed
  4. Abrir o app: Acesse http://localhost:3000
  5. Verificação de saúde: yarn dev:health-check

Desenvolvimento com Integrações Externas

Se precisar testar integrações com serviços externos (como webhooks Git):
  1. Iniciar serviços: yarn docker:start && yarn migrate:dev && yarn seed
  2. Criar tunnel: yarn tunnel (cria endpoint público)
  3. Atualizar URLs de webhook: O comando tunnel atualiza seu .env automaticamente
  4. Configurar provedor Git: Use a URL do tunnel nas configurações de webhook do seu provedor Git
  5. Testar integração: Dispare webhooks e monitore os logs
Benefícios do Tunnel:
  • Testar integrações reais de webhook localmente
  • Depurar comunicações com serviços externos
  • Compartilhar seu ambiente de desenvolvimento com membros da equipe
  • Testar aplicativos móveis ou outros clientes externos

Solução de Problemas

Verificação Rápida de Saúde

yarn dev:health-check
Esta verificação abrangente de saúde valida:
  • Serviços: Kodus API, Worker, Webhooks, Web, PostgreSQL, MongoDB, RabbitMQ
  • 🔌 Disponibilidade de portas: Web (3000), API (3001), PostgreSQL (5432), MongoDB (27017), RabbitMQ (5672/15672)
  • 🗄️ Configuração do banco de dados: Migrações e dados iniciais
  • 🌐 Endpoints da API: Endpoints de saúde e conectividade básica

Verificação Manual

  1. Verificar Web UI: Acesse http://localhost:3000 no seu navegador
  2. Verificar saúde da API: Acesse http://localhost:3001/health
  3. Verificar RabbitMQ: Acesse http://localhost:15672 (credenciais padrão: guest/guest)
  4. Verificar conexões com banco de dados: Verifique os logs para conexões bem-sucedidas
  5. Testar endpoints de webhook: Os webhooks do seu provedor Git devem apontar para http://localhost:3332/[provider]/webhook (ou para o domínio da sua API se um proxy reverso rotear /.../webhook para o serviço de webhooks)

Problemas com o Script de Setup

Se o script de configuração automatizada (yarn setup) falhar: Dependências ausentes:
# Verificar se todas as ferramentas necessárias estão instaladas
node --version
yarn --version
docker --version
openssl version
Problemas de permissão com Docker:
# Adicionar seu usuário ao grupo docker (Linux/macOS)
sudo usermod -aG docker $USER
# Depois saia e entre novamente na sessão
Erros na criação de redes:
# Verificar se as redes já existem
docker network ls | grep kodus
# Remover redes conflitantes se necessário
docker network rm kodus-backend-services shared-network

Problemas Comuns

Conflitos de porta:
  • Certifique-se de que as portas 3000 (Web), 3001 (API), 5432 (PostgreSQL), 27017 (MongoDB) e 5672/15672 (RabbitMQ) estão disponíveis
  • Pare outros serviços que usam essas portas antes de iniciar o Kodus
Variáveis de ambiente não carregando:
  • Verifique se o arquivo .env existe na raiz do projeto
  • Confira se não há espaços no final das atribuições de variáveis
  • Certifique-se de que todas as chaves de segurança necessárias foram geradas corretamente
Falhas na verificação de saúde:
  • Execute yarn dev:health-check para obter diagnósticos detalhados
  • Verifique se os contêineres estão totalmente iniciados (aguarde 1-2 minutos após yarn docker:start)
  • Confirme que as migrações e dados iniciais foram carregados
  • Verifique os logs da API com yarn docker:logs para erros de inicialização
API sem resposta:
  • A API leva algum tempo para inicializar completamente após a inicialização do contêiner
  • Verifique se as migrações e dados iniciais foram carregados
  • Confirme que o arquivo .env possui todas as variáveis necessárias
  • Execute a verificação de saúde para ver quais componentes específicos estão falhando
Problemas de webhook com serviços externos:
  • Use yarn tunnel para criar um endpoint público para webhooks externos
  • Atualize as URLs de webhook do seu provedor Git para usar a URL do tunnel
  • Certifique-se de que o tunnel está em execução ao testar integrações de webhook
  • Verifique os logs do tunnel para problemas de conexão