TPTito Pinardo Gutiérrez
English

Artículos

Lo que se rompió, contado entero

Las averías de mi homelab contadas enteras (qué se vio, la causa y el arreglo), un resumen cada lunes de lo que sale y afecta a mi servidor, y lo que cambió cada mes. Sin direcciones ni nombres internos.

Lo último

De «sin copias» a copias cifradas que el propio servidor no puede borrar

Durante semanas, mi homelab tuvo un hueco reconocido: el código tenía dos respaldos, pero los datos no tenían copias periódicas. En un día monté Proxmox Backup Server con un disco solo para él, copias cifradas de todo cada noche, un permiso que no deja borrar y una restauración de prueba. Por el camino aparecieron dos sorpresas: un permiso que no bastaba y 158 GB que no iban en ninguna copia.

  • Proxmox Backup Server
  • Proxmox VE
  • ZFS
  • Linux / SSH hardening
Leer →

Archivo

octubre de 2026

  1. CrowdSec detrás de Cloudflare: casi bloqueo a todo el mundo

    Antes de poner CrowdSec en la puerta, el registro decía que el 95 % del tráfico venía de Cloudflare: bloquear esas IPs era bloquear a casi todos.

    CrowdSecTraefikLinux / SSH hardening

  2. Renovate en casa: tres actualizaciones que nunca se aplicaban

    Monté Renovate para que abriera un PR por cada versión nueva. El primer día destapó tres roles de Ansible que subían el número y dejaban instalada la versión vieja.

    RenovateAnsibleForgejo · Actions

  3. Mi propio CI/CD con Forgejo: un runner sin secretos, despliegue por PR y esta web publicada sola

    Por qué el código de mi homelab vive en un Forgejo en casa, qué hace cada runner, los cuatro tropiezos del primer día y cómo esta web llega sola de un push a internet.

    Forgejo · ActionsGitTerraformAnsibleRust

  4. Discos SAS con la caché de escritura apagada de fábrica: ×13 en escrituras con ZFS

    Cómo comprobar y activar la caché de escritura (WCE) de discos SAS y SATA tras una bandeja con sdparm, por qué es segura con ZFS y cuánto se gana medido con fio.

    ZFSLinux (Debian, Alpine, Arch)

  5. Falsas alertas de carga en contenedores LXC: el load average es el del host

    Por qué Zabbix avisaba de «load average per CPU above 3» en ocho contenedores LXC a la vez sin carga real, y cómo pasé de 9.500 avisos a la semana a un centenar.

    ZabbixLXCWazuh

septiembre de 2026

  1. Lo que cambió en septiembre de 2026: todo el homelab como código

    142 cambios en un mes: el homelab entero pasa a Terraform y Ansible, se cierran paneles a internet, el asistente estrena modelo y pruebas, y se mide antes de tocar.

    TerraformAnsibleProxmox VELinux / SSH hardeningWazuhPython

  2. El cortafuegos de un contenedor de Proxmox que no hace nada: falta [OPTIONS] enable: 1

    Reglas de cortafuegos de un CT de Proxmox que se guardan pero no se aplican: sin la sección [OPTIONS] con enable: 1, firewall=1 en la interfaz no basta.

    Proxmox VELinux / SSH hardening

  3. qwen3:8b en una GPU de 8 GB: de 17 a 73 tokens por segundo sin cambiar de modelo

    Por qué un modelo de 8B iba lento en Ollama con una GPU de 8 GB: el escritorio se comía la VRAM. Caché KV q8_0, flash attention y el modelo entero en GPU.

    LLM locales (Ollama, Qdrant, RAG)Linux (Debian, Alpine, Arch)

  4. Razonar solo donde aporta: un modelo local de 8B, de 4,7 a 0,7 segundos al redactar

    Cuándo encender y apagar el razonamiento (think) de qwen3 en un asistente con herramientas: elegir herramienta lo necesita, redactar con los datos delante no.

    LLM locales (Ollama, Qdrant, RAG)Python

  5. Terraform y Proxmox: un cambio de claves SSH que iba a destruir cuatro contenedores

    En el proveedor bpg/proxmox, cambiar user_account.keys obliga a recrear el contenedor (ForceNew). Cómo lo frenó el plan y qué hacer en su lugar.

    TerraformProxmox VE

  6. Instalar OKD con el Agent-Based Installer sobre discos mecánicos: los cuatro muros

    Una ISO que no arrancaba, un overlay en RAM lleno, etcd con escrituras de 6,6 s y un timeout de systemd de 5 minutos: cómo acabó sano un clúster OKD de 3 nodos.

    OpenShift (OKD)Kubernetes / K3sProxmox VE

  7. 2.104 Chrome sin cabeza huérfanos: una fuga de memoria con Puppeteer

    Un contenedor con 31 GB de 32 en uso y n8n gastando 264 MB: el culpable era una API con Puppeteer que soltaba el navegador sin cerrarlo en cada error.

    JavaScript / TypeScriptDockerLinux (Debian, Alpine, Arch)

agosto de 2026

  1. Proxmox no arranca ningún contenedor tras un corte de luz: el LVM-thin a medio activar

    «Activation of logical volume pve/data is prohibited while pve/data_tmeta is active»: qué pasa con LVM-thin tras un apagado brusco y cómo activarlo sin esperar dos veces.

    Proxmox VELinux (Debian, Alpine, Arch)

  2. 17 días de copias de seguridad vacías: el PATH de cron no tiene /usr/sbin

    Un script de copias que funcionaba a mano y fallaba en silencio desde cron: el PATH mínimo no incluye /usr/sbin, donde vive pct. Cómo detectarlo y validar cada copia.

    Linux (Debian, Alpine, Arch)Proxmox VE

junio de 2026

  1. Certificado autofirmado en toda la casa: una regla de NAT de MikroTik sin interfaz de entrada

    Por qué una regla dstnat del puerto 443 sin in-interface-list=WAN interceptaba el HTTPS de dentro de casa y rompía las webs con HSTS, y cómo se arregla.

    MikroTikTraefik