Skip to main content
Etapa Opcional: Necessária apenas se você não for usar nenhum balanceador de carga ou servidor proxy.
Para tornar sua instância do Kodus acessível a partir de sistemas externos (necessário para webhooks de Code Review e acesso público), você precisará configurar um proxy reverso com Nginx. Aqui está um exemplo de configuração Nginx para dois subdomínios:
Os webhooks são tratados por um serviço separado (porta 3332). O bloco location ~ ^/(github|gitlab|bitbucket|azure-repos)/webhook é obrigatório se suas URLs de webhook usam o domínio da API.

Opcional: Subdomínio Dedicado para Webhooks

Se preferir um domínio separado para webhooks (ex.: kodus-webhooks.yourdomain.com), adicione um bloco de servidor que aponte para o serviço de webhooks:
Salve esta configuração em /etc/nginx/sites-available/kodus (ou com um nome de sua preferência, ex.: kodus-web e kodus-api como arquivos separados) e crie um link simbólico para habilitá-la:
Atualização Importante de Configuração para Proxy Reverso:Após configurar o proxy reverso com kodus-web.yourdomain.com e kodus-api.yourdomain.com (ou seus subdomínios escolhidos), você deve garantir que seu arquivo .env reflita corretamente essas URLs públicas. Especificamente, verifique:
  • WEB_HOSTNAME_API: Deve ser definido como apenas o hostname da sua API pública (ex.: kodus-api.yourdomain.com), sem protocolo (http:// ou https://).
  • WEB_PORT_API: Deve corresponder à porta pública em que sua API está acessível (geralmente 443 para HTTPS ou 80 para HTTP). O esquema (http/https) usado pelo frontend para chamar a API frequentemente será inferido a partir desta porta ou codificado no frontend para usar HTTPS.
  • URLs de webhook (ex.: API_GITHUB_CODE_MANAGEMENT_WEBHOOK): Certifique-se de que resolvem para o serviço de webhooks. Você pode usar o domínio da API somente se /.../webhook rotear para a porta 3332, ou use um domínio dedicado para webhooks (ex.: https://kodus-webhooks.yourdomain.com/github/webhook).
Falha em atualizar corretamente pode resultar em problemas de autenticação, incapacidade da aplicação web de conectar à API, ou webhooks com mau funcionamento.

Habilitando SSL (Recomendado)

Para implantações em produção, recomendamos fortemente a configuração de SSL com Let’s Encrypt:
Isso irá configurar automaticamente seu Nginx para usar HTTPS e redirecionar o tráfego HTTP para ambos os subdomínios.