Skip to content

Hycky/agents_hub

Repository files navigation

🤖 Agents Hub

Dashboard centralizado para gerenciar e acessar aplicações de IA e Agentes rodando em Docker.

Node.js Docker License

dashboard

✨ Funcionalidades

  • 🔍 Detecção automática de containers Docker com portas expostas
  • 📊 Métricas do sistema (CPU, RAM, Disco) atualizadas em tempo real
  • 📈 Métricas por container com barras de progresso visuais
  • 🌓 Tema claro/escuro com persistência no navegador
  • 🔐 Autenticação segura com bcrypt
  • 📱 Layout responsivo (4, 3, 2 ou 1 coluna)

🎯 Aplicações Suportadas

LangfuseDifySupabaseN8NKestraLangflowQdrantFirecrawl

E qualquer outra aplicação Docker com portas expostas.

🔧 Como Funciona

  1. Detecção: Conecta ao Docker socket e lista containers em execução
  2. Identificação: Associa cada container a um ícone/cor pelo nome
  3. Métricas: Coleta CPU/memória via Docker Stats API
  4. Dashboard: Renderiza cards com links para cada aplicação

🚀 Instalação

git clone https://github.com/Hycky/agents_hub.git
cd agents_hub
cp .env.example .env

⚙️ Configuração

1. Gerar Hash da Senha

Primeiro, instale bcryptjs temporariamente e gere o hash:

# Instalar bcryptjs
npm install bcryptjs

# Gerar hash (substitua 'sua-senha' pela senha desejada)
node -e "require('bcryptjs').hash('sua-senha', 10).then(console.log)"

# O resultado será algo como:
# $2a$10$abcdefghijklmnopqrstuvwxyz123456789

2. Configurar o .env

Edite o arquivo .env:

PORT=3100
SESSION_SECRET=uma-chave-secreta-aleatoria-aqui
NODE_ENV=production
HOST_IP=seu-ip-de-rede
AUTH_USER=seu-usuario
AUTH_HASH=$$2a$$10$$seu-hash-aqui

⚠️ Importante: No .env, troque cada $ do hash por $$ (escape)

Exemplo: Se o hash gerado foi $2a$10$abc... No .env fica: AUTH_HASH=$$2a$$10$$abc...

3. Iniciar

docker compose up -d --build

4. Acessar

Abra no navegador: http://seu-ip:3100

🎨 Adicionando Novos Ícones

1. Adicione o arquivo

# Coloque o ícone em public/icons/
public/icons/minha-app.svg

2. Edite server.js

Localize o bloco de detecção (~linha 120) e adicione:

} else if (name.includes('minha-app')) {
  appName = 'Minha Aplicação';
  icon = '/icons/minha-app.svg';
  color = '#FF5733';
}

3. Rebuild

docker compose up -d --build

📋 Comandos

Comando Descrição
docker compose up -d Iniciar
docker compose up -d --build Rebuild
docker compose logs -f Logs
docker compose down Parar

🛡️ Segurança

  • Senhas com hash bcrypt (10 rounds)
  • Sessions com cookie HttpOnly
  • Docker socket em modo read-only
  • Credenciais em .env (não versionado)

📄 Licença

MIT

About

🤖 Hub de acesso para aplicações de IA - Dify, Langflow, N8N, Langfuse, Kestra e mais

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors