Cómo diseñar una red VLAN y gestionar LXC containers en Proxmox para homelab

Problema En muchos homelabs el entusiasmo por añadir hardware, VLANs y contenedores lleva a una arquitectura que funciona, pero que rápidamente se vuelve difícil de mantener. El patrón típico es: Un servidor Proxmox que aloja varios LXCs no privilegiados. Múltiples VLANs creadas en un switch gestionado para separar tráfico de gestión, laboratorio, invitados y dispositivos de confianza. Un firewall virtual (Debian o similar) que actúa como puerta de enlace entre esas VLANs y el ISP. Herramientas de orquestación caseras que intentan automatizar la creación de redes y contenedores. El síntoma más común es que, tras añadir una nueva VLAN o LXC, aparecen problemas de conectividad inter‑VLAN, reglas de firewall que no se aplican o contenedores que pierden acceso a recursos críticos (DNS, NTP, almacenamiento). La raíz del problema suele estar en la falta de una guía estructurada que una la configuración de Proxmox, el switch gestionado y la orquestación de contenedores. ...

September 2, 2026 · Ernesto

Cómo asegurar un servidor Jellyfin autoalojado expuesto a Internet con Caddy y LXC

Problema Muchos entusiastas de home‑lab quieren que su servidor de medios (Jellyfin, Plex, Emby, etc.) sea accesible fuera de la red doméstica sin montar una VPN para cada cliente. La solución típica consiste en exponer un puerto HTTP/HTTPS del router y dejar que el propio Jellyfin gestione TLS. Ese enfoque suele generar dos riesgos principales: Superficie de ataque ampliada – el puerto de la aplicación queda visible a escáneres automáticos y a ataques de fuerza bruta. Lateral movement – si el proceso del servidor se compromete, el atacante puede escalar dentro de la LAN y tocar otros servicios. El reto es diseñar una arquitectura mínima que reduzca esos riesgos, mantenga la experiencia de usuario (acceso mediante un único nombre DNS y certificado válido) y sea fácil de mantener con herramientas habituales (Caddy, LXC, Cloudflare DNS, etc.). ...

September 1, 2026 · Ernesto

Cómo enrutar una VLAN completa a través de Cloudflare WARP usando LXC en Proxmox

Problema Muchos entornos de homelab o pequeñas oficinas dependen de un único enlace de Internet que, por limitaciones del ISP, ofrece ancho de banda insuficiente para varios equipos simultáneos. Cuando se habilita un túnel VPN como Cloudflare WARP en una máquina, la velocidad mejora notablemente, pero solo esa máquina se beneficia. La necesidad típica es proporcionar esa mejora a todos los servidores y contenedores sin instalar WARP en cada uno, manteniendo al mismo tiempo una política de “corte total” si el túnel falla. ...

September 1, 2026 · Ernesto

Cómo automatizar el provisioning de LXC/VM en Proxmox con n8n

Problema En muchos homelabs la creación de un nuevo servicio implica una cadena de pasos repetitivos: crear el contenedor o la VM en Proxmox, asignar una IP, registrar el nombre en el DNS interno, exponer el puerto mediante Nginx Proxy Manager (NPM), actualizar un inventario en Git y, finalmente, añadir la aplicación a un dashboard como Homarr. Cada ciclo requiere cambiar entre la UI de Proxmox, la consola del DNS, la interfaz de NPM y el repositorio de configuración. Cuando el proceso se repite cientos de veces, el tiempo invertido y la probabilidad de errores humanos se disparan. El patrón es claro: la orquestación manual de recursos dispersos genera fricción y errores. ...

August 17, 2026 · Ernesto

Cómo solucionar errores de SQLite y symlinks en Docker dentro de LXC unprivileged

Problema Al ejecutar varios servicios basados en Docker (por ejemplo, Komga, Calibre‑Web, LazyLibrarian, Suwayomi) dentro de un contenedor LXC sin privilegios, es frecuente encontrarse con dos patrones de fallo: Bloqueos de SQLite (SQLITE_BUSY o OperationalError: database is locked) que impiden que la aplicación arranque o que realice operaciones de escritura. Errores al crear symlinks (ln: failed to create symbolic link … Operation not supported) que aparecen en aplicaciones que dependen de KCEF, Chromium Embedded Framework u otras bibliotecas que usan enlaces simbólicos. Ambos síntomas aparecen cuando los directorios de datos y de medios están montados desde el host mediante bind mount o SMB/CIFS y el contenedor LXC está configurado como unprivileged (UID/GID mapeados). La combinación de AppArmor, la falta de soporte de O_SYMLINK en sistemas de archivos remotos y el modo de bloqueo de SQLite (WAL) genera un entorno donde las llamadas POSIX esperadas son denegadas o se comportan de forma no atómica. ...

August 16, 2026 · Ernesto

Cómo desplegar actualizaciones de Docker Compose aprobadas desde GitHub a múltiples LXC en Proxmox

Problema En entornos homelab o pequeñas infraestructuras se combina a menudo Proxmox como hipervisor, LXC para aislar servicios y Docker Compose para orquestar contenedores. Cuando se usa Renovate para mantener actualizadas las imágenes, el flujo típico es: Renovate detecta una nueva versión. Crea un Pull Request (PR) que actualiza el archivo docker-compose.yml. El administrador revisa y fusiona el PR. El punto crítico aparece después del merge: los cambios deben llegar a cada LXC que ejecuta Docker, y el contenedor debe ser recreado con la nueva imagen. Hacer esto manualmente (login en cada LXC, git pull, docker compose up -d) es tedioso y propenso a errores, sobre todo cuando hay varios hosts. Necesitamos un mecanismo que: ...

August 14, 2026 · Ernesto

Cómo generar un inventario Markdown automático de contenedores LXC en Proxmox

Problema En cualquier homelab con varios contenedores LXC es fácil perder la pista de cuál cumple cada función. Cuando el número de CTID supera la decena, la vista rápida del panel web ya no basta; los nombres, recursos asignados y propósitos quedan dispersos en distintas pantallas. La falta de un registro centralizado genera confusión al planificar actualizaciones, migraciones o simplemente al revisar el estado del entorno. Además, la documentación manual tiende a quedar desactualizada tan pronto como se crea, elimina o modifica un contenedor. ...

August 10, 2026 · Ernesto

Cómo actualizar LXC containers en Proxmox cuando los scripts helper dependen de Debian bookworm

Problema En entornos con Proxmox VE es habitual crear contenedores LXC a partir de plantillas de Debian bookworm y, posteriormente, ejecutar scripts de ayuda que automatizan tareas de mantenimiento. Cuando el host se actualiza o cuando el propio script se vuelve dependiente de una versión distinta (por ejemplo, Debian trixie), el contenedor sigue reportando su codename original. El script detecta “unsupported version 12” y aborta, dejando al contenedor inoperativo después de un intento de “apt full‑upgrade”. El resultado típico es un contenedor que no arranca, pérdida de la URL de acceso y la necesidad de restaurar una copia de seguridad. ...

August 8, 2026 · Ernesto

Cómo solucionar errores de SFTP backend en Zerobyte (restic) al replicar backups

Problema En entornos de self‑hosting es frecuente combinar varios repositorios de respaldo (NAS, servidores remotos, contenedores LXC) y usar la opción mirror de Zerobyte para mantener copias idénticas. Cuando se configura un backup scheduler que escribe en un repositorio SFTP y, a la vez, se intenta replicar ese mismo backup a otro repositorio SFTP con credenciales distintas, Zerobyte muestra el mensaje: Both use SFTP backends with different credentials. Consider creating a new backup scheduler with the desired destination instead. El síntoma impide que la cadena de espejo (mirror) funcione y obliga a recurrir a soluciones ad‑hoc como bind mounts o copias manuales. El problema no es exclusivo de una instalación concreta; ocurre siempre que Zerobyte intenta enlazar dos destinos SFTP bajo el mismo scheduler. ...

June 21, 2026 · Ernesto

Cómo resolver fallos de LXC containers al clonar Proxmox a otro disco

Problema En entornos de Proxmox VE es frecuente clonar el nodo o migrar los volúmenes a un nuevo disco para renovar hardware o redistribuir capacidad. Después de la operación, varios usuarios descubren que sus LXC containers no arrancan. Los logs suelen mostrar errores al montar los volúmenes de Local‑LVM, como “mount: unknown filesystem type 'ext4'” o “Failed to activate logical volume”. El síntoma típico es: pct start 101 lxc-start: failed to mount /dev/pve/vm-101-disk-0 Este patrón no está limitado a una versión concreta de Proxmox; ocurre siempre que la capa de almacenamiento (LVM) pierde la correspondencia entre los UUID de los volúmenes y la configuración guardada en /etc/pve/lxc/. El contenedor queda “atascado” porque el hipervisor no encuentra el dispositivo esperado. ...

June 20, 2026 · Ernesto