🧭 Contexto
El objetivo de este proyecto fue convertir un entorno doméstico en una plataforma productiva de servicios personales y de desarrollo, con un enfoque en seguridad, aislamiento y automatización.
Partiendo de un host Debian con recursos limitados, se construyó un homelab hardened que aloja servicios de streaming, almacenamiento y VPN, asegurando trazabilidad, control y defensa ante ataques externos.
⚙️ Arquitectura y diseño
La infraestructura se basa en una arquitectura mínima por contenedores:
- Docker Compose orquesta servicios por stack (media, red, seguridad, storage).
- Red interna aislada con control de tráfico entre servicios.
- Volúmenes persistentes para configuración y backups.
- Supervisión mediante systemd, con watchdogs personalizados y healthchecks.
graph TD A[Host Debian] --> B[Docker Compose] B --> C[Caddy Reverse Proxy] B --> D[WireGuard VPN] B --> E[Fail2Ban] B --> F[Jellyfin Media Server] B --> G[MinIO S3] E --> C E --> D C --> F F --> G
🔐 Seguridad y endurecimiento
-
Caddy reverse proxy
TLS automático, headers seguros, políticas CSP/HSTS. -
WireGuard VPN
Acceso cifrado punto a punto, control de peers y subredes dedicadas. -
Fail2Ban
Jails personalizadas para Caddy y SSH, bans automáticos y métricas centralizadas. -
msmtp + systemd watchdogs
Alertas automáticas por correo ante caídas o reinicios.
📈 Resultados
| Indicador | Antes | Después |
|---|---|---|
| Gestión TLS | Manual | Automática (Caddy) |
| Acceso remoto | Puertos abiertos | VPN dedicada |
| Alertas operativas | Manuales | Automáticas (msmtp) |
🧠 Lecciones aprendidas
- Seguridad doméstica ≠ complejidad. Con herramientas simples se logra un entorno hardened real.
- Los logs son el mejor IDS: monitorear Fail2Ban y WireGuard da visibilidad inmediata.
- Docker + systemd permite resiliencia operativa sin depender de servicios externos.
🧠 Rol: Diseño e implementación de infraestructura doméstica segura
🧩 Duración: Continuo (2024–2025)
⚒️ Stack: Debian, Docker, Caddy, Fail2Ban, WireGuard, Jellyfin, MinIO