-
Internet
Cualquier visitante, en cualquier parte del mundo.
-
Cloudflare
Primera parada de todo el tráfico de fuera: oculta la IP de casa, filtra ataques y guarda copias en caché cerca del visitante.
-
Mi móvil (Element)
Desde Element hablo con Hermes y recibo avisos y mensajes, esté donde esté.
-
Router MikroTik
Conectado directamente a la fibra. Red separada por VLANs, cortafuegos auditado y VPN WireGuard para entrar desde fuera.
Entrar en la unidad 1U →
-
Dispositivos de casa
Portátiles, la tele, los móviles: todo lo que se conecta a la red de casa, separado por VLANs.
-
PC con GPU (Ollama)
El modelo de lenguaje de Hermes corre aquí, en local: nada sale de mi red. Si el PC está apagado, las preguntas esperan en cola.
- LLM locales (Ollama, Qdrant, RAG)
Entrar en la unidad 1U →
-
GitHub (copia pública)
Lo que enseño: el código de esta web y una copia saneada de la infraestructura. Solo recibe lo que ya ha pasado el CI y el control de fugas.
Entrar en la unidad 1U →
-
Traefik
La única puerta pública del servidor: certificados TLS automáticos y una ruta por servicio publicado, con CrowdSec vigilando quién llama. Los paneles internos no pasan por aquí.
Entrar en la unidad 1U →
-
Caddy + Authelia
Entrada a los paneles internos, solo desde casa o la VPN, con inicio de sesión único y doble factor.
Entrar en la unidad 1U →
-
Technitium DNS
Resuelve los nombres internos y bloquea publicidad y rastreadores en toda la casa. Migrado desde Pi-hole sin perder una consulta.
Entrar en la unidad 1U →
-
Sincronizador de IP
Mi conexión no tiene IP fija: cada 5 minutos comprueba la IP pública y, si cambia, actualiza Cloudflare para que los dominios sigan apuntando a casa.
Entrar en la unidad 1U →
-
Esta web
Un binario de Rust de 11 MB que usa unos 12 MB de RAM, en su propio contenedor sin privilegios y con el cortafuegos más estricto del servidor.
Entrar en la unidad 1U →
-
PostgreSQL
Guarda los mensajes del formulario. Sin red: solo se le habla por el socket local.
Entrar en la unidad 1U →
-
Matrix (Synapse + Element)
Mi propio servidor de mensajería. Aquí viven Hermes, los avisos del servidor y los mensajes de esta web.
Entrar en la unidad 1U →
-
Paperless-ngx
Digitaliza y clasifica documentos con OCR. Aislado del resto a propósito: guarda papeles personales.
Entrar en la unidad 1U →
-
Obsidian
La documentación del homelab: procedimientos, incidentes y postmortems. Hermes la consulta para responder.
Entrar en la unidad 1U →
-
n8n
Automatizaciones entre servicios: tareas programadas y avisos.
Entrar en la unidad 1U →
-
Homepage
El panel de entrada a todos los servicios, generado por Ansible desde la misma lista que usa Traefik.
Entrar en la unidad 1U →
-
Servidores de juegos (AMP)
Servidores de juegos para amigos, con apertura automática del cortafuegos solo mientras están encendidos.
Entrar en la unidad 1U →
-
Plex
El servidor multimedia de la casa, con transcodificación por hardware.
Entrar en la unidad 1U →
-
Biblioteca automatizada (*arr)
Un conjunto de servicios que mantiene la biblioteca ordenada sola: nombres, metadatos, subtítulos y la calidad que elijo.
Entrar en la unidad 1U →
-
TV en directo
Canales públicos de TDT con su guía de programación, servidos a Plex como si fuera un sintonizador.
Entrar en la unidad 1U →
-
GPU passthrough
Una GPU NVIDIA asignada al contenedor de Plex para convertir vídeo por hardware sin cargar la CPU.
Entrar en la unidad 1U →
-
Hermes (asistente de IA)
El bot que responde sobre el estado del servidor en lenguaje natural. El de esta página es su versión sin IA.
- Python
- LLM locales (Ollama, Qdrant, RAG)
Entrar en la unidad 1U →
-
Qdrant
Base de datos vectorial: guarda la documentación y las conversaciones para que Hermes encuentre lo relevante (RAG).
- LLM locales (Ollama, Qdrant, RAG)
Entrar en la unidad 1U →
-
Zabbix
Métricas y alertas de cada máquina: CPU, discos, RAID, ZFS, contenedores Docker.
Entrar en la unidad 1U →
-
Wazuh
Seguridad: vulnerabilidades, inicios de sesión sospechosos y comprobaciones CIS en todos los contenedores.
Entrar en la unidad 1U →
-
Nodo de control IaC
Desde aquí Terraform crea las máquinas y Ansible las configura. También corren aquí los agentes de IA con los que trabajo.
Entrar en la unidad 1U →
-
Almacenamiento ZFS
Pools ZFS y RAID por software para los sistemas y la biblioteca, vigilados por Zabbix.
Entrar en la unidad 1U →
-
Proxmox VE
El hipervisor: unos veinte contenedores LXC y las máquinas virtuales del laboratorio.
Entrar en la unidad 1U →
-
Clúster OpenShift (OKD)
Tres nodos para practicar OpenShift: 3/3 Ready y 33/33 operadores sanos.
- OpenShift (OKD)
- Kubernetes / K3s
Entrar en la unidad 1U →
-
XPIFY (unidad 1U)
Aquí vivió mi proyecto final: una VM con un clúster K3s entero (frontend, API, Keycloak, PostgreSQL, Redis, Argo CD y observabilidad). Hoy está retirada, pero puedes entrar en su unidad y verla por dentro.
- Kubernetes / K3s
- Argo CD
- NestJS
- Keycloak
- PostgreSQL
Entrar en la unidad 1U →
-
Copias (unidad 1U)
Cada madrugada, una copia cifrada de todos los contenedores, verificada cada semana y con la restauración probada. Y un segundo repositorio que recibe cada commit de la infraestructura.
Entrar en la unidad 1U →
-
Forgejo (unidad 1U)
Mi servidor Git, dentro de casa: el origen de la infraestructura y de esta web. Cambios por PR, CI en cada push y avisos del resultado en Element.
Entrar en la unidad 1U →
-
Runner del CI
Comprueba cada push sin un solo secreto: Terraform, ansible-lint, gitleaks y, para esta web, Rust con sus pruebas contra PostgreSQL. Nunca aplica nada.
- Forgejo · Actions
- Terraform
- Ansible
- Rust
Entrar en la unidad 1U →
-
Runner de despliegue
Vive en el nodo de control. Calcula el plan de cada cambio y, con mi aprobación, aplica ese plan exacto. Esta web la despliega sola cuando su CI sale en verde. Cada lunes, Renovate abre aquí los PR de versiones nuevas.
- Forgejo · Actions
- Terraform
- Ansible
- Renovate
Entrar en la unidad 1U →
-
OpenBao (unidad 1U)
Guarda todos los secretos de la infraestructura y las credenciales de Terraform, y firma los certificados internos. Los entrega en tokens de 15 minutos y, tras cada reinicio, espera sellado a que yo lo abra.
- OpenBao · Vault
- Linux / SSH hardening
Entrar en la unidad 1U →
Vista simplificada: sin direcciones, puertos ni nombres internos.