De un vistazo
Tres nodos Proxmox VE forman un clúster con más de 80 LXC y VMs. El almacenamiento en bloque de cargas de trabajo está en Ceph replicado; los datos masivos de usuarios (multimedia, fotos, Nextcloud) en TrueNAS ZFS vía NFS. El tráfico entrante pasa por Cloudflare, termina en un proxy inverso y se autentica con Authentik donde corresponde. Proxmox Backup Server toma snapshots en sitio; bibliotecas y archivos PBS se replican a Cloudflare R2 fuera del sitio.
Capa física
| Componente | Función |
|---|---|
| Dell5820 | Nodo principal — la mayoría de servicios, GPU para Plex/Jellyfin/IA |
| DellPrecision | Segundo nodo del clúster — capacidad y failover |
| ryzen7-pve | Aloja VMs de TrueNAS y PBS (passthrough de hardware de almacenamiento) |
| Equipo de red | Router/AP Omada, switch administrado, monitoreo de UPS |
Cómo fluye una solicitud web
- Abres
drive.nbottini.com(Nextcloud). - DNS (Pi-hole en casa, Cloudflare desde fuera) resuelve el nombre.
- El tráfico llega a NPMplus en el puerto 443 con un certificado TLS válido.
- Authentik exige login donde la app no tiene OIDC nativo (forward authentication en el proxy).
- El proxy reenvía al contenedor de Nextcloud en la LAN.
- Los archivos vienen de TrueNAS por NFS si es necesario.
Cargas que no son HTTP (p. ej. TAK Server en TCP 8089) omiten el proxy HTTP por diseño; el modelo en capas de arriba aplica a la mayoría de servicios web.
Categorías de servicios
| Categoría | Ejemplos |
|---|---|
| Plataforma | Pi-hole, NPMplus, Authentik, Cloudflare Tunnel |
| Nube familiar | Nextcloud, Immich, Matrix, Jellyfin/Plex |
| Operaciones | Ansible/Semaphore, Portainer, BookStack, Gitea |
| Observabilidad | Prometheus, Grafana, Uptime Kuma, Wazuh |
| Pipeline de multimedia | Radarr, Sonarr, helpers *arr (biblioteca automatizada) |
| IA | Ollama + Open WebUI (LLM local en GPU) |
Explora los mosaicos en vivo en home.nbottini.com (el acceso puede requerir invitación).
Diseño de almacenamiento
- Ceph (vmstore) — discos replicados para cada VM/LXC; sobrevive a la pérdida de un nodo dentro de los límites configurados.
- TrueNAS — pools ZFS para multimedia, fotos Immich, archivos Nextcloud y descargas vía NFS.
- PBS — respaldos programados en sitio de VMs/contenedores con deduplicación; ruta de recuperación ante desastres.
- Cloudflare R2 (fuera del sitio) — copias automáticas de bibliotecas de archivos y respaldos PBS fuera del rack en casa.
Para la explicación orientada a usuarios (qué significa esto para Immich/Nextcloud), ver Cómo protegemos tus datos.
Modelo de seguridad (resumen)
- Exposición WAN mínima — denegación por defecto en el perímetro; solo 443 hacia NPMplus (más 8089 para TAK donde el protocolo lo exige). WAF/Access de Cloudflare en apps seleccionadas.
- Identidad y acceso — SSO con Authentik y permisos por grupos; forward-auth en el proxy para apps sin OIDC nativo.
- Gestión de secretos — Vaultwarden para tokens API, cuentas de emergencia y objetivos de rotación; Ansible y la documentación referencian almacenes de secretos, nunca valores en línea.
- Baseline de hosts — SSH solo con llave, fail2ban y perfiles de refuerzo repetibles desplegados vía Ansible en los nodos.
- Asumir brecha — escaneo continuo de vulnerabilidades (Greenbone) y SIEM (Wazuh) en servicios expuestos a Internet; Pi.Alert para dispositivos no autorizados en la LAN.
Entorno de pruebas separado
Hay un clúster Mini-Rack (cuatro nodos Proxmox en otra subred) para pruebas y capacitación — separado del Main-Cluster de producción.