Skip to content

Daniel-Humberto/AI-Lab-Workplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner

Docker Compose NVIDIA CUDA Ollama n8n Prometheus Grafana Bash License: GPL


Descripción general

AI Lab Workplace es un prototipo y prueba de concepto de un sistema de IA Generativa Self-Hosted, diseñada para ejecutar modelos de lenguaje grande (LLM), búsqueda vectorial y automatizaciónes, de manera local sin dependencias de la nube, cuotas de uso y con soberanía total sobre los datos.

Orquestado mediante un archivo docker-compose.yml y gestionada por una herramienta CLI personalizada agentai-ops.sh, la plataforma levanta 15 servicios en contenedores que cubren todo el ciclo de trabajo con IA. Desde la inferencia de modelos y el almacenamiento vectorial, hasta la automatización de flujos de trabajo y la observabilidad en tiempo real.


Arquitectura

Arquitectura del sistema


Estructura del proyecto

agent-ai-ops/
├── agentai-ops.sh          # CLI de infraestructura — punto de entrada único
├── docker-compose.yml      # Definición de orquestación de 15 servicios
├── .env                    # Variables de entorno y secretos (ignorado por git)
│
├── monitoring/
│   └── prometheus.yml      # Configuración de scrape para todos los exporters
│
├── n8n-data/               # Flujos de trabajo, credenciales y PDFs de n8n
├── ollama-data/            # Pesos de los modelos LLM descargados
├── qdrant-data/            # Almacenamiento del índice vectorial
├── postgres-data/          # Archivos de datos de PostgreSQL
├── redis-data/             # Persistencia AOF de Redis
├── grafana-data/           # Dashboards y plugins de Grafana (volumen nombrado)
└── prometheus-data/        # TSDB de Prometheus (volumen nombrado)

CLI

Menú CLI


Operations CLI

Todo el ciclo de vida de la infraestructura se gestiona a través de un único script con menú interactivo TUI o comandos directos.

# Menú interactivo (recomendado)
bash agentai-ops.sh

# Comandos directos
bash agentai-ops.sh instalar     # Instalación completa (toolkit NVIDIA, directorios, configuración)
bash agentai-ops.sh levantar     # Iniciar todos los servicios
bash agentai-ops.sh bajar        # Detener todos los servicios
bash agentai-ops.sh reiniciar    # Reiniciar (todos o un servicio específico)
bash agentai-ops.sh estado       # Panel de estado del sistema
bash agentai-ops.sh logs         # Transmitir logs (todos o un servicio específico)
bash agentai-ops.sh llms         # Descargar modelos LLM en Ollama
bash agentai-ops.sh verificar    # Ejecutar health checks en todos los servicios
bash agentai-ops.sh endpoints    # Mostrar todas las URLs de los servicios
bash agentai-ops.sh actualizar   # Descargar las últimas imágenes Docker
bash agentai-ops.sh backup       # Archivar todos los volúmenes de datos
bash agentai-ops.sh seguridad    # Configurar firewall UFW + ejecutar auditoría Lynis
bash agentai-ops.sh destruir     # Eliminar contenedores y volúmenes
bash agentai-ops.sh purge        # ⚠️ Borrado total (irreversible)

Instalacion y Configuracion

Requisitos previos

  • Host Linux (Ubuntu 22.04+ recomendado)
  • GPU NVIDIA con drivers instalados
  • Docker Engine + Docker Compose v2
  • curl, bash ≥ 5.0

1 — Clonar y configurar

git clone https://github.com/Daniel-Humberto/AI-Lab-Workplace.git
cd agent-ai-ops
cp .env.example .env
# Editar .env — definir contraseñas e IDs de dispositivo GPU

2 — Instalar y Levantar Workplace

# Herramienta de Instalación y Configuracion Automatizada Completa
./agentai-ops.sh

3 — Acceso a los servicios


Seguridad

La plataforma fue diseñada priorizando un enfoque seguro a nivel de red y host.

Aislamiento de red — Los servicios están segregados en dos redes Docker. Los servicios internos (bases de datos, exporters) quedan aislados en agent-ai-network-internal con internal: true, bloqueando cualquier acceso externo directo. Solo los servicios con interfaz de usuario se conectan a la red externa.

Firewall UFW — La configuración automatizada del firewall restringe todos los puertos de servicio a la subred LAN local (192.168.1.0/24). El tráfico externo queda denegado por defecto.

Auditoría con Lynis — El comando seguridad instala y ejecuta Lynis, una herramienta de hardening y auditoría de cumplimiento, generando un informe completo de seguridad del host en /var/log/lynis-report.dat.

Secretos en variables de entorno — Todas las contraseñas y credenciales se almacenan exclusivamente en .env (nunca commiteado) y se inyectan en tiempo de ejecución del contenedor. Ninguna credencial aparece en las capas de imagen ni en las definiciones de Compose.


📝 Licencia

Este proyecto está licenciado bajo la Licencia GNU GPL v3.


© 2026 Ing. Daniel Humberto Reyes Rocha.


About

Infraestructura de IA Self-Hosted, diseñada y desarrollada bajo el enfoque DevOps e IaC.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors