mirror of
https://github.com/RGJorge/ContainerFlow.git
synced 2026-08-03 07:21:42 +02:00
cd7786ef6603e5e0012cfdfc2d034ef01a471952
DockerFlow AlteonX
Visualizador en tiempo real de arquitecturas Docker. Muestra servicios, conexiones y metricas de todos tus proyectos Docker Compose en un dashboard interactivo.
Requisitos
- Bun >= 1.0
- Docker corriendo con acceso al socket (
/var/run/docker.sock)
Instalacion
git clone https://github.com/RGJorge/alteonx-dockerflow.git
cd alteonx-dockerflow
bun install
Configuracion
Copiar el archivo de ejemplo y editar:
cp .env.example .env
Variables disponibles:
| Variable | Default | Descripcion |
|---|---|---|
PORT |
9470 |
Puerto del servidor |
AUTH_TOKEN |
(vacio) | Token de autenticacion. Vacio = sin auth, solo localhost. Con valor = auth activado, acceso remoto |
Uso
Desarrollo (hot reload)
bun run dev
Abre http://localhost:5173 (Vite proxy → backend en puerto 9470).
Produccion
bun run build
bun run start
Abre http://localhost:9470.
Modos de visualizacion
# Ver TODOS los containers Docker
bun run start -- --all
# Ver solo proyectos especificos
bun run start -- --projects=mi-proyecto,otro-proyecto
# Auto-detectar desde el directorio actual
bun run start
Funcionalidades
- Descubrimiento automatico — detecta servicios via Docker socket, agrupa por proyecto o compose file
- Conexiones inteligentes — detecta relaciones app→database, app→cache, proxy→app, worker→broker
- Metricas en tiempo real — CPU y memoria por container, actualizado cada 3 segundos
- Eventos Docker — flash visual cuando un container inicia, para o reinicia
- Filtro de proyectos — dropdown para mostrar/ocultar proyectos, persiste entre sesiones
- Autenticacion — pantalla de login con AUTH_TOKEN para acceso remoto seguro
- Leyenda de conexiones — colores por tipo: Database (azul), Cache (rojo), Broker (naranja), Proxy (verde)
- Grupos visuales — recuadros por proyecto/compose con titulo, archivo compose y conteo de containers
- Tooltips — hover sobre cada nodo para ver estado, imagen, ID y puertos
Stack
| Componente | Tecnologia |
|---|---|
| Runtime | Bun |
| Server | Hono |
| Frontend | React 19 + Vite 6 |
| Grafos | @xyflow/react 12 |
| Estilos | Tailwind CSS 4 |
| Iconos | Lucide React |
| Docker API | dockerode |
| Comunicacion | WebSocket nativo |
Estructura
src/
server/
index.ts — servidor Hono + WebSocket + CLI args
docker.ts — descubrimiento de servicios y conexiones
watcher.ts — polling de stats + stream de eventos Docker
client/
App.tsx — dashboard principal + login screen
main.tsx — entry point React
index.css — Tailwind + animaciones custom
nodes/
ServiceNode.tsx — nodo visual por container
GroupNode.tsx — header de grupo (proyecto/compose)
hooks/
useDocker.ts — hook WebSocket para datos en tiempo real
engine/
layout.ts — layout de grupos + grid + edges
shared/
types.ts — tipos compartidos server/client
Licencia
MIT
Languages
TypeScript
99%
CSS
0.6%
Dockerfile
0.3%