<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jarith</title>
    <description>The latest articles on DEV Community by Jarith (@jarith_9e4e6a83b1e291e8c7).</description>
    <link>https://dev.to/jarith_9e4e6a83b1e291e8c7</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4187650%2Fc316245c-0415-4439-89b4-a4db26209838.png</url>
      <title>DEV Community: Jarith</title>
      <link>https://dev.to/jarith_9e4e6a83b1e291e8c7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jarith_9e4e6a83b1e291e8c7"/>
    <language>en</language>
    <item>
      <title>Home Assistant 2026.11.0: ¿actualizar ya o esperar? Qué revisar antes</title>
      <dc:creator>Jarith</dc:creator>
      <pubDate>Fri, 06 Nov 2026 02:54:25 +0000</pubDate>
      <link>https://dev.to/jarith_9e4e6a83b1e291e8c7/home-assistant-2026110-actualizar-ya-o-esperar-que-revisar-antes-4g5i</link>
      <guid>https://dev.to/jarith_9e4e6a83b1e291e8c7/home-assistant-2026110-actualizar-ya-o-esperar-que-revisar-antes-4g5i</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;En breve:&lt;/strong&gt; Según la documentación consultada el 2026-11-06, la versión 2026.11 es grande, pero el riesgo real para un homelab se concentra en dos cambios: la migración de HACS al Marketplace integrado y el nuevo sistema de nombres de entidades.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Resumen
&lt;/h2&gt;

&lt;p&gt;Según la documentación consultada el 2026-11-06, la versión 2026.11 es grande, pero el riesgo real para un homelab se concentra en dos cambios: la migración de HACS al Marketplace integrado y el nuevo sistema de nombres de entidades. El resto de novedades importa menos a la hora de decidir.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Criterio de decisión:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si usas pocas integraciones personalizadas y pocas tarjetas o plantillas que dependan del &lt;em&gt;friendly name&lt;/em&gt;, actualizar es razonable con copia de seguridad y revisión previa.&lt;/li&gt;
&lt;li&gt;Si tu dashboard está lleno de tarjetas personalizadas o plantillas que construyen textos a partir de nombres, esperar al primer parche es una opción prudente.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lo que &lt;strong&gt;no&lt;/strong&gt; debería preocuparte: los entity IDs, automatizaciones, scripts, escenas y dashboards seguirán funcionando. Lo que cambia es lo que ves, no a qué apuntan tus automatizaciones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué ha cambiado
&lt;/h2&gt;

&lt;h3&gt;
  
  
  HACS pasa a ser el Marketplace
&lt;/h3&gt;

&lt;p&gt;HACS se integra en Home Assistant como Marketplace (Ajustes &amp;gt; Marketplace), disponible en todos los tipos de instalación y sin cuenta de GitHub para instalar o actualizar. Es gratuito y lo hace la comunidad: el proyecto no lo prueba, audita ni soporta, y se ejecuta dentro de tu instancia.&lt;/p&gt;

&lt;p&gt;Qué pasa con lo que ya tienes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si usas HACS, Home Assistant lo migra automáticamente al arrancar tras la actualización. Se conservan lo instalado, los repositorios personalizados y las entidades de actualización.&lt;/li&gt;
&lt;li&gt;El instalador de HACS se detiene en 2026.11, así que ya no es posible una instalación separada en esta versión, y el HACS antiguo no recibirá nuevas versiones.&lt;/li&gt;
&lt;li&gt;Instalar una integración desde el Marketplace no requiere reinicio, pero las actualizaciones todavía sí; tras actualizar, una reparación avisa si hace falta reiniciar.&lt;/li&gt;
&lt;li&gt;Los repositorios personalizados requieren conexión con GitHub (inicio de sesión por dispositivo, solo lectura de información pública).&lt;/li&gt;
&lt;li&gt;La fuente de descarga puede cambiarse a espejos de la comunidad china, pero entonces el catálogo y el código instalado pasan por quien gestiona el espejo y, si no se alcanza, por un proxy de terceros. Elige solo fuentes de confianza.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Como el instalador antiguo se detiene y el HACS antiguo no recibirá versiones, conviene tratar la migración como de un solo sentido y apoyarte en la copia de seguridad.&lt;/p&gt;

&lt;h3&gt;
  
  
  Nuevo sistema de nombres
&lt;/h3&gt;

&lt;p&gt;El cambio es incompatible hacia atrás: algunos nombres en dashboards se verán distintos, sobre todo los de entidades que no empiezan por el nombre del dispositivo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Qué nombres cambian.&lt;/strong&gt; Si el nombre de la entidad ya empieza por el del dispositivo, se elimina esa parte. Si no, se mantiene y se añade el contexto: un switch llamado «Coffee machine» en «Smart plug 3» pasa a mostrarse «Smart plug 3 Coffee machine».&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cómo se arregla.&lt;/strong&gt; Renombra el dispositivo y activa «Main entity of the device». Para entidades expuestas a Assist, Alexa o Google Assistant, el nombre antiguo se añade como alias, así que tus comandos de voz no deberían perderse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dispositivos hijo.&lt;/strong&gt; Los dispositivos complejos se dividen en dispositivos hijo en Z-Wave, MQTT, ESPHome, algunos Tuya y otras integraciones; Matter y ZHA están en progreso. Si usas alguna de ellas, espera ver más dispositivos en tu lista tras actualizar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Plantillas y tarjetas personalizadas.&lt;/strong&gt; Aquí está el riesgo más probable: algunas tarjetas personalizadas y plantillas que usan el friendly name pueden mostrar nombres distintos a los integrados. Se recomienda usar &lt;code&gt;entity_name()&lt;/code&gt;, &lt;code&gt;device_name()&lt;/code&gt; y &lt;code&gt;area_name()&lt;/code&gt; en plantillas. El friendly name se mantiene por compatibilidad, pero se planea deprecar.&lt;/p&gt;

&lt;h3&gt;
  
  
  Novedades que pueden justificar el salto
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;En automatizaciones puedes excluir entidades, dispositivos, áreas, plantas y etiquetas de un target. El cálculo se hace en cada ejecución, así que incluye elementos añadidos después.&lt;/li&gt;
&lt;li&gt;Hay secciones de dashboard automáticas y copiar/pegar secciones.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si no usas targets por área o etiqueta ni dashboards por secciones, estas novedades por sí solas no justifican correr.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué comprobar en tu homelab
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Antes de actualizar&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Haz una copia de seguridad guardada fuera del dispositivo. Pesa más si usas HACS, porque conviene tratar su migración como unidireccional.&lt;/li&gt;
&lt;li&gt;Lee los «Backward-incompatible changes» de todas las notas entre tu versión y la de destino.&lt;/li&gt;
&lt;li&gt;Localiza tus tarjetas personalizadas y plantillas que dependan del friendly name, y valora migrarlas a &lt;code&gt;entity_name()&lt;/code&gt;, &lt;code&gt;device_name()&lt;/code&gt; y &lt;code&gt;area_name()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Si usas repositorios personalizados, asegúrate de poder iniciar sesión en GitHub por dispositivo.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Actualización&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Por CLI: &lt;code&gt;ha core update --backup&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Después de actualizar&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Revisa Ajustes &amp;gt; Sistema &amp;gt; Reparaciones y Registros; ahí aparecerá el aviso de reinicio si lo requiere una actualización del Marketplace.&lt;/li&gt;
&lt;li&gt;Abre Ajustes &amp;gt; Marketplace y comprueba que tus integraciones y repositorios personalizados siguen presentes, junto con sus entidades de actualización.&lt;/li&gt;
&lt;li&gt;Recorre tus dashboards buscando nombres distintos; corrige renombrando el dispositivo y activando «Main entity of the device».&lt;/li&gt;
&lt;li&gt;Verifica que las automatizaciones siguen funcionando: deberían, porque los entity IDs se mantienen.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Resumen de la decisión:&lt;/strong&gt; actualiza ya si tu instalación es sencilla y puedes restaurar desde copia; espera al primer parche si dependes de muchas tarjetas personalizadas o plantillas con nombres.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Límites: no hay datos sobre requisitos de versión de Python o HA OS ni sobre incidencias posteriores al lanzamiento.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;¿Lo usas en tu homelab? Cuéntalo en los comentarios.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fuentes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://home-assistant.io/blog/2026/11/04/release-202611" rel="noopener noreferrer"&gt;2026.11: A lot in store!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://home-assistant.io/blog/2026/11/03/naming-things-in-home-assistant" rel="noopener noreferrer"&gt;Naming things in Home Assistant, shaped by your feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://home-assistant.io/common-tasks/os" rel="noopener noreferrer"&gt;Common tasks - Home Assistant Operating System&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Este artículo se ha elaborado con asistencia automatizada&lt;/p&gt;

</description>
      <category>homeassistant</category>
      <category>smarthome</category>
      <category>spanish</category>
      <category>selfhosted</category>
    </item>
    <item>
      <title>WireGuard por tu cuenta o Tailscale en un homelab: qué plano de control quieres operar</title>
      <dc:creator>Jarith</dc:creator>
      <pubDate>Mon, 02 Nov 2026 00:53:55 +0000</pubDate>
      <link>https://dev.to/jarith_9e4e6a83b1e291e8c7/wireguard-por-tu-cuenta-o-tailscale-en-un-homelab-que-plano-de-control-quieres-operar-5hl1</link>
      <guid>https://dev.to/jarith_9e4e6a83b1e291e8c7/wireguard-por-tu-cuenta-o-tailscale-en-un-homelab-que-plano-de-control-quieres-operar-5hl1</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;En breve:&lt;/strong&gt; &lt;strong&gt;Respuesta corta:&lt;/strong&gt; Tailscale es WireGuard con el trabajo de coordinación hecho por otro.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Resumen
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Respuesta corta:&lt;/strong&gt; Tailscale es WireGuard con el trabajo de coordinación hecho por otro. La pregunta real no es qué cifra mejor, sino qué parte del plano de control quieres operar tú: distribución de claves, configuración de endpoints y recuperación de conexiones tras NAT.&lt;/p&gt;

&lt;p&gt;Criterio propio, apoyado en los datos de abajo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pocos nodos, uno con IP pública y ganas de controlarlo todo:&lt;/strong&gt; WireGuard puro es una opción razonable, porque tú mantienes el endpoint y las claves.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sin IP pública (CGNAT), varios usuarios o poco tiempo para mantenerlo:&lt;/strong&gt; Tailscale, que funciona tras NAT sin abrir puertos y cuyo plan Personal es gratuito para uso no comercial.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Según la documentación consultada el 2026-11-02, estos son los datos en los que se apoya la decisión.&lt;/p&gt;

&lt;h2&gt;
  
  
  Criterios
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Esfuerzo para llegar a un servicio desde fuera
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;WireGuard puro.&lt;/strong&gt; El protocolo deja fuera de su alcance la distribución de claves y la configuración empujada. Cada peer necesita la clave pública del otro, y todo se define a mano con &lt;code&gt;wg&lt;/code&gt;/&lt;code&gt;wg-quick&lt;/code&gt;, &lt;code&gt;AllowedIPs&lt;/code&gt; y &lt;code&gt;Endpoint&lt;/code&gt;. Mi inferencia: al añadir un nodo nuevo habrá que revisar la configuración de los peers con los que deba hablar. Un esquema mínimo, con marcadores donde la fuente no da valores:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;&lt;span class="nn"&gt;[Interface]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="py"&gt;PrivateKey&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;lt;clave-privada-local&amp;gt;&lt;/span&gt;
&lt;span class="py"&gt;Address&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;lt;ip-del-túnel&amp;gt;&lt;/span&gt;
&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nn"&gt;[Peer]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="py"&gt;PublicKey&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;lt;clave-pública-del-otro-peer&amp;gt;&lt;/span&gt;
&lt;span class="py"&gt;AllowedIPs&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;lt;ips-permitidas&amp;gt;&lt;/span&gt;
&lt;span class="py"&gt;Endpoint&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;lt;host-público&amp;gt;:&amp;lt;puerto&amp;gt;&lt;/span&gt;
&lt;span class="py"&gt;PersistentKeepalive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;25&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Tailscale.&lt;/strong&gt; Al autenticar dos o más dispositivos se crea automáticamente la tailnet con políticas de acceso por defecto. Se despliega en minutos y las conexiones funcionan a través de firewalls y NAT sin abrir puertos. También puede enrutar todo el tráfico por un exit node.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. CGNAT, hard NAT y UDP bloqueado
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;WireGuard puro.&lt;/strong&gt; Un peer detrás de NAT o firewall que deba recibir paquetes tras un periodo de silencio necesita &lt;code&gt;PersistentKeepalive&lt;/code&gt;. Está desactivado por defecto y 25 s es un valor razonable. Mi razonamiento, a partir de que cada peer se define con un &lt;code&gt;Endpoint&lt;/code&gt;: si tu casa está tras CGNAT, nadie puede alcanzarla desde fuera, así que necesitarás un punto alcanzable (por ejemplo, un servidor externo) que tendrás que mantener tú. Las fuentes del pack no detallan este escenario.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tailscale.&lt;/strong&gt; Usa tres tipos de conexión: directa (UDP), relé DERP y Peer Relay. Todas van cifradas con WireGuard y la diferencia es de rendimiento. Empieza por DERP e intenta subir a directa. Con UDP bloqueado o hard NAT se queda en relé, que es más lento. Para favorecer conexiones directas puedes abrir el puerto UDP 41641 o habilitar NAT-PMP/UPnP en el router.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Control y privacidad del plano de control
&lt;/h3&gt;

&lt;p&gt;Lo que cedes con Tailscale es la coordinación, no el cifrado del tráfico: los servidores DERP reenvían paquetes ya cifrados y no pueden descifrarlos. Lo que ganas con WireGuard puro es que tú mantienes el endpoint y las claves, y eso es a la vez control y trabajo.&lt;/p&gt;

&lt;p&gt;Si te preocupan los relés, Tailscale desaconseja en general los DERP propios y recomienda Peer Relays: menor latencia, sin coste de egress y sin mantener &lt;code&gt;derper&lt;/code&gt;. Los DERP propios, además, no soportan compartir dispositivos entre tailnets.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Coste para un homelab personal
&lt;/h3&gt;

&lt;p&gt;El plan Personal de Tailscale es gratuito y de uso no comercial. Incluye dispositivos de usuario ilimitados, hasta 6 usuarios y 50 recursos etiquetados. Las tailnets creadas con dominio público (Gmail, etc.) se tratan como uso personal, y el homelab se menciona como caso típico. Con WireGuard puro, el coste que sale del pack es operativo: mantener el endpoint y las claves.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Medir latencia y tipo de conexión de forma equivalente
&lt;/h3&gt;

&lt;p&gt;En Tailscale, &lt;code&gt;tailscale status&lt;/code&gt; indica si la conexión es direct, relay o peer-relay, y &lt;code&gt;tailscale ping&lt;/code&gt; sirve para sondear.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tailscale status
tailscale ping &amp;lt;nodo&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para una prueba idéntica en ambos (criterio mío, no de las fuentes): lanza desde el mismo cliente, a la misma hora y hacia el mismo servicio, un &lt;code&gt;ping&lt;/code&gt; ordinario a la IP del túnel de cada solución y compara los resultados. En Tailscale, consulta además &lt;code&gt;tailscale status&lt;/code&gt; para saber si medías una conexión directa o un relé, ya que los tipos de conexión difieren en rendimiento. En WireGuard puro, el camino lo define el &lt;code&gt;Endpoint&lt;/code&gt; que configures.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Rendimiento
&lt;/h3&gt;

&lt;p&gt;Hay un aviso que afecta a equipos viejos, y procede de un issue en GitHub con confianza media, no de documentación oficial. Según ese issue, en Tailscale v1.100.0, v1.102.0 y v1.98.10 wireguard-go perdió la optimización en ensamblador anterior a AVX para ChaCha20-Poly1305. En CPUs amd64 antiguas el caudal cayó: con un Xeon E5-2697 v2 y SSSE3 se pasó de 61,1 a 30,8 Gbit/s. Se prepara restaurarlo, pero no consta el estado final del arreglo. Si tu servidor es un equipo antiguo, tenlo en cuenta. WireGuard, por su parte, presume de alto rendimiento en el kernel de Linux, aunque su web indica que está en desarrollo activo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué dicen las fuentes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Límites
&lt;/h3&gt;

&lt;p&gt;El pack no incluye medidas propias de latencia ni de rendimiento entre WireGuard puro y Tailscale. Tampoco cubre con detalle Headscale ni Cloudflare Tunnel.&lt;/p&gt;

&lt;p&gt;¿Lo usas en tu homelab? Cuéntalo en los comentarios.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fuentes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://tailscale.com/kb/1151/what-is-tailscale" rel="noopener noreferrer"&gt;What is Tailscale? · Tailscale Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailscale.com/kb/1257/connection-types" rel="noopener noreferrer"&gt;Connection types · Tailscale Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailscale.com/kb/1232/derp-servers" rel="noopener noreferrer"&gt;DERP servers · Tailscale Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailscale.com/pricing" rel="noopener noreferrer"&gt;Tailscale pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.wireguard.com/" rel="noopener noreferrer"&gt;WireGuard: fast, modern, secure VPN tunnel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wireguard.com/quickstart" rel="noopener noreferrer"&gt;Quick Start - WireGuard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tailscale/tailscale/issues/21002" rel="noopener noreferrer"&gt;Issue #21002 de tailscale/tailscale sobre el rendimiento de wireguard-go&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Este artículo se ha elaborado con asistencia automatizada&lt;/p&gt;

</description>
      <category>tailscale</category>
      <category>comparison</category>
      <category>networking</category>
      <category>wireguard</category>
    </item>
    <item>
      <title>Pi-hole 6.5: ¿actualizar? Seguridad, gravity.db y qué revisar antes</title>
      <dc:creator>Jarith</dc:creator>
      <pubDate>Wed, 28 Oct 2026 06:06:07 +0000</pubDate>
      <link>https://dev.to/jarith_9e4e6a83b1e291e8c7/pi-hole-65-actualizar-seguridad-gravitydb-y-que-revisar-antes-31md</link>
      <guid>https://dev.to/jarith_9e4e6a83b1e291e8c7/pi-hole-65-actualizar-seguridad-gravitydb-y-que-revisar-antes-31md</guid>
      <description>&lt;h2&gt;
  
  
  Resumen
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Sí, conviene actualizar a Pi-hole 6.5, pero tras unas comprobaciones concretas.&lt;/strong&gt; A fecha de 2026-10-28, según la página de la release consultada, Pi-hole Core v6.5 es sobre todo un endurecimiento de seguridad: corrige cuatro avisos de severidad alta (CVSS 7.8, 7.8, 7.8 y 7.3) y uno de severidad baja (CVSS 2.2). Además migra tu &lt;code&gt;gravity.db&lt;/code&gt; automáticamente y retira un comando.&lt;/p&gt;

&lt;p&gt;Criterio de decisión, razonado a partir de lo anterior:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si tu Pi-hole es accesible para otros usuarios o servicios de la máquina, o ejecuta FTL con configuración editable, los avisos de root y ejecución de comandos justifican actualizar pronto.&lt;/li&gt;
&lt;li&gt;Si usas &lt;code&gt;arpflush&lt;/code&gt; en scripts o cron, o adlists &lt;code&gt;file://&lt;/code&gt;, o &lt;code&gt;gravity.db&lt;/code&gt; en una ruta personalizada, revisa esos puntos antes; si no, el riesgo de la actualización es bajo.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Qué ha cambiado
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Vulnerabilidades corregidas
&lt;/h3&gt;

&lt;p&gt;Los cuatro avisos de severidad alta son:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ejecución de comandos mediante un PID manipulado (GHSA-cf36-4hhc-8398), CVSS 7.8.&lt;/li&gt;
&lt;li&gt;Root siguiendo un symlink al escribir el archivo de versión (GHSA-xch2-4qxw-g5vj), CVSS 7.8.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/opt/pihole&lt;/code&gt; pasa a ser de solo lectura para el servicio FTL (GHSA-j8vh-6fp9-cjcx), CVSS 7.8.&lt;/li&gt;
&lt;li&gt;Root escribiendo en rutas proporcionadas por la configuración (GHSA-mff6-cjc4-5wq9), CVSS 7.3.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;El de severidad baja (GHSA-g63w-24cr-p3w6, CVSS 2.2) afecta a adlists &lt;code&gt;file://&lt;/code&gt;: la comprobación de lectura y curl podían resolver archivos distintos; ahora las listas locales se leen como el usuario cuyo acceso se comprobó.&lt;/p&gt;

&lt;p&gt;A ello se suma más endurecimiento de privilegios: el comprobador de actualizaciones y los ajustes previos al arranque de FTL se ejecutan como usuario &lt;code&gt;pihole&lt;/code&gt;, solo se confía en repositorios git que &lt;code&gt;pihole&lt;/code&gt; no pueda modificar, y se deja de conceder &lt;code&gt;CAP_CHOWN&lt;/code&gt; a todo lo que ejecuta &lt;code&gt;pihole-FTL&lt;/code&gt; (se mantiene en el conjunto ambient del servicio FTL).&lt;/p&gt;

&lt;h3&gt;
  
  
  Qué se elimina o cambia de comportamiento
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;arpflush&lt;/code&gt; se elimina&lt;/strong&gt; en favor de &lt;code&gt;networkflush&lt;/code&gt;. Si algún script o cron aún llama a &lt;code&gt;arpflush&lt;/code&gt;, fallará; sustitúyelo por &lt;code&gt;networkflush&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adlists &lt;code&gt;file://&lt;/code&gt;&lt;/strong&gt;: se leen sin curl y su URI se interpreta con expansión de parámetros y canonicalización de ruta (RFC 8089). Si tus rutas locales usan formas poco habituales, comprueba que siguen resolviéndose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;listsCache&lt;/code&gt;&lt;/strong&gt; se guarda junto a &lt;code&gt;gravity.db&lt;/code&gt; en lugar de siempre en &lt;code&gt;/etc/pihole&lt;/code&gt;. Es relevante si &lt;code&gt;gravity.db&lt;/code&gt; está en una ruta personalizada o en volúmenes Docker: el directorio puede aparecer en otro sitio.&lt;/li&gt;
&lt;li&gt;Otros cambios menores: se evita la doble rotación de logs ahora que &lt;code&gt;pihole&lt;/code&gt; está en &lt;code&gt;/etc/logrotate.d&lt;/code&gt; (con USR2 tras logrotate), &lt;code&gt;/etc/pihole/versions&lt;/code&gt; es legible por todos, mejora el manejo de errores de gravity y el volcado de consultas de 24 h se hace vía API de FTL.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  gravity.db
&lt;/h3&gt;

&lt;p&gt;El esquema se mejora para rendimiento (tablas de unión &lt;code&gt;WITHOUT ROWID&lt;/code&gt;, nuevos índices para búsquedas de grupos, triggers más baratos) y las bases existentes se migran automáticamente a la versión de esquema 21 al actualizar. Implicación práctica: la migración es automática, pero no está documentado cuánto tarda en bases grandes, y una vez migrada tu base ya no tendrá el esquema anterior; de ahí que una copia previa sea aquí especialmente útil.&lt;/p&gt;

&lt;h3&gt;
  
  
  Relación con FTL v6.8
&lt;/h3&gt;

&lt;p&gt;La URL de origen del adlist se pasa a &lt;code&gt;parseList&lt;/code&gt; de FTL, algo necesario para la corrección de adlists &lt;code&gt;file://&lt;/code&gt; de FTL v6.8. Si dependes de listas locales, el arreglo completo requiere esa versión de FTL; el pack no indica qué versión de FTL acompaña a Core 6.5.&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Afecta a Debian 11?
&lt;/h3&gt;

&lt;p&gt;Debian 11 se elimina de la matriz de distribuciones del CI de Pi-hole, lo que sugiere que deja de probarse en esta versión. No hay información de que deje de funcionar, pero si ejecutas Debian 11 asumes una combinación sin pruebas automáticas; plantéate migrar de sistema.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué comprobar en tu homelab
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Copia con Teleporter.&lt;/strong&gt; Pi-hole incluye Teleporter para copias de configuración. Expórtala antes de actualizar, porque &lt;code&gt;gravity.db&lt;/code&gt; se migra de forma automática al esquema 21.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scripts y cron.&lt;/strong&gt; Busca usos de &lt;code&gt;arpflush&lt;/code&gt; y cámbialos por &lt;code&gt;networkflush&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adlists locales.&lt;/strong&gt; Si tienes entradas &lt;code&gt;file://&lt;/code&gt;, verifica que el archivo es legible por el usuario correcto y que la ruta se interpreta como esperas. Comprueba también la versión de FTL (v6.8 para la corrección completa).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rutas personalizadas y Docker.&lt;/strong&gt; Si &lt;code&gt;gravity.db&lt;/code&gt; no está en el sitio por defecto o usas volúmenes, localiza dónde queda &lt;code&gt;listsCache&lt;/code&gt; tras actualizar. En Docker, el pack no detalla el impacto exacto ni cómo se versiona la imagen.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Permisos y automatizaciones propias.&lt;/strong&gt; Si algo tuyo escribía en &lt;code&gt;/opt/pihole&lt;/code&gt; desde FTL, o dependía de que &lt;code&gt;pihole-FTL&lt;/code&gt; tuviera &lt;code&gt;CAP_CHOWN&lt;/code&gt;, puede dejar de funcionar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sistema operativo.&lt;/strong&gt; Si estás en Debian 11, tenlo presente.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Límites:&lt;/strong&gt; no hay datos sobre problemas conocidos tras actualizar ni sobre la duración de la migración en bases grandes.&lt;/p&gt;

&lt;p&gt;¿Lo usas en tu homelab? Cuéntalo en los comentarios.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fuentes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/pi-hole/pi-hole/releases/tag/v6.5" rel="noopener noreferrer"&gt;Release v6.5 · pi-hole/pi-hole · GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pi-hole.net/" rel="noopener noreferrer"&gt;Pi-hole – Network-wide Ad Blocking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Este artículo se ha elaborado con asistencia automatizada&lt;/p&gt;

</description>
      <category>homelab</category>
      <category>selfhosted</category>
      <category>pihole</category>
      <category>seguridad</category>
    </item>
    <item>
      <title>Home Assistant 2026.10: actualiza directamente a 2026.10.3 y revisa estas integraciones</title>
      <dc:creator>Jarith</dc:creator>
      <pubDate>Sun, 25 Oct 2026 23:39:35 +0000</pubDate>
      <link>https://dev.to/jarith_9e4e6a83b1e291e8c7/home-assistant-202610-actualiza-directamente-a-2026103-y-revisa-estas-integraciones-lpi</link>
      <guid>https://dev.to/jarith_9e4e6a83b1e291e8c7/home-assistant-202610-actualiza-directamente-a-2026103-y-revisa-estas-integraciones-lpi</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;En breve:&lt;/strong&gt; &lt;strong&gt;Sí, conviene actualizar, y lo razonable es saltar directamente a 2026.10.3.&lt;/strong&gt; A fecha de 2026-10-24, según las notas de publicación consultadas, 2026.10.3 (publicada el 23 de octubre) figura como &lt;em&gt;Latest&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Resumen
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Sí, conviene actualizar, y lo razonable es saltar directamente a 2026.10.3.&lt;/strong&gt; A fecha de 2026-10-24, según las notas de publicación consultadas, 2026.10.3 (publicada el 23 de octubre) figura como &lt;em&gt;Latest&lt;/em&gt;. La rama salió el 7 de octubre con 2026.10.0, y después llegaron 2026.10.1 (10 de octubre), 2026.10.2 (16 de octubre) y 2026.10.3. Como los parches corrigen integraciones habituales en un homelab, no hay motivo para quedarse en 10.0 ni para instalar un parche intermedio.&lt;/p&gt;

&lt;p&gt;Criterio de decisión: si usas MQTT, Modbus, KNX, FRITZ!Box, UniFi o Proxmox, los parches te afectan de forma directa. Si no usas ninguna, el cambio más visible para ti será el mapa.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué ha cambiado
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Cambios de fondo de 2026.10.0
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Mapa.&lt;/strong&gt; El proveedor de mapas anterior empezó a exigir API key y rompió todos los mapas en 2026.9. Ahora se usan teselas vectoriales de OpenStreetMap servidas por la nueva integración Map tiles, que las obtiene y cachea a través de tu instancia, de modo que el navegador no contacta con servidores externos de teselas. Quien puede verse afectado son los dispositivos antiguos incapaces de renderizar mapas vectoriales, como una tablet de pared vieja: vuelven automáticamente al mapa clásico.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trigger IDs.&lt;/strong&gt; Ahora tienen interfaz: la condición «Triggered by» permite marcar triggers y Home Assistant gestiona los IDs. Tus IDs escritos a mano en YAML siguen funcionando igual, compartir ID entre triggers sigue permitido y Home Assistant no añade IDs a tu YAML. El campo de ID desaparece del editor. Por tanto, tus automatizaciones no deberían cambiar; lo único distinto es la edición desde la UI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modbus.&lt;/strong&gt; Hay 15 integraciones nuevas, entre ellas SolarEdge Modbus (local por Modbus TCP, sin cuenta ni cloud) y KACO Modbus, además de un panel para conexiones Modbus. Si tienes un inversor solar, puede interesarte, pero no es un motivo para actualizar por sí solo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Parches relevantes en un homelab
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;2026.10.1:&lt;/strong&gt; trae un cambio marcado como &lt;em&gt;breaking-change&lt;/em&gt;: se elimina el intervalo de sondeo configurable por el usuario en omnilogic. También restauró TLS sin verificar para fuentes de stream con la opción &lt;code&gt;verify_ssl&lt;/code&gt; y omitió la verificación TLS en streams RTSPS de UniFi Protect.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2026.10.2:&lt;/strong&gt; MQTT device triggers y tags ya no se disparan dos veces tras recargar; se arregló la validación de permisos de ProxmoxVE; FRITZ!Box Tools ignora dispositivos sin TR-064 en el descubrimiento SSDP y el setup de Fritz ya no falla si falta la clave NewEnable; se arregló la recarga de Modbus sin config YAML.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2026.10.3:&lt;/strong&gt; correcciones en Proxmox VE (detección de versión de actualización), UniFi Access (eventos de acceso duplicados), Omada, SMTP (nuevo contexto SSL en lugar de uno compartido), Synology DSM, Home Connect, EnergyZero y KNX (se retiene el timeout de arranque mientras inicializa el almacén de telegramas). Incluye además Python 3.14.8.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Seguridad y privacidad
&lt;/h3&gt;

&lt;p&gt;2026.10.2 revoca los refresh tokens al eliminar un usuario y oculta credenciales o datos identificativos en los diagnósticos de SFR Box, NRGkick, Teslemetry y Tesla Fleet. Si compartes diagnósticos para pedir ayuda, esto reduce el riesgo de filtrar datos, pero solo en esas integraciones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué comprobar en tu homelab
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Omnilogic:&lt;/strong&gt; si lo usas y habías configurado un intervalo de sondeo propio, ese ajuste desaparece.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streams de cámaras:&lt;/strong&gt; si dependías de &lt;code&gt;verify_ssl&lt;/code&gt; en fuentes de stream, o tienes UniFi Protect con RTSPS, revisa que sigan funcionando, porque 10.1 modificó el comportamiento de la verificación TLS. Que RTSPS de UniFi Protect omita la verificación es un matiz de seguridad a tener en cuenta si tu cámara está en una red que no controlas por completo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MQTT, Modbus, KNX, FRITZ!Box, Proxmox:&lt;/strong&gt; si en 10.0 notaste disparos duplicados, fallos al recargar, setups de Fritz que fallaban o permisos de Proxmox rechazados, estos son los síntomas que 10.2 y 10.3 corrigen.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UniFi Access:&lt;/strong&gt; si registras eventos de acceso, los duplicados deberían desaparecer con 10.3.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SMTP:&lt;/strong&gt; si envías notificaciones por correo, comprueba tras actualizar que siguen llegando, ya que ahora se crea un contexto SSL nuevo en lugar de compartido.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dispositivos con pantalla:&lt;/strong&gt; si tienes tablets antiguas mostrando mapas, espera el mapa clásico como alternativa automática.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automatizaciones con triggers:&lt;/strong&gt; no hace falta tocar nada si ya usas IDs en YAML.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Aviso de futuro
&lt;/h3&gt;

&lt;p&gt;Home Assistant Cloud pasará a llamarse Home Assistant Link en la versión de diciembre; es solo un cambio de nombre anunciado.&lt;/p&gt;

&lt;h3&gt;
  
  
  Límites
&lt;/h3&gt;

&lt;p&gt;Las notas disponibles no permiten confirmar la lista completa de cambios incompatibles de 2026.10.0, ni requisitos de instalación o problemas conocidos al actualizar. Tampoco hay compatibilidad documentada entre una versión concreta de Proxmox VE y la integración de Home Assistant.&lt;/p&gt;

&lt;p&gt;¿Lo usas en tu homelab? Cuéntalo en los comentarios.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fuentes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/home-assistant/core/releases/tag/2026.10.0" rel="noopener noreferrer"&gt;Release 2026.10.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/home-assistant/core/releases/tag/2026.10.1" rel="noopener noreferrer"&gt;Release 2026.10.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/home-assistant/core/releases/tag/2026.10.2" rel="noopener noreferrer"&gt;Release 2026.10.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/home-assistant/core/releases/tag/2026.10.3" rel="noopener noreferrer"&gt;Release 2026.10.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://home-assistant.io/blog/2026/10/07/release-202610" rel="noopener noreferrer"&gt;2026.10: You are here&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Este artículo se ha elaborado con asistencia automatizada&lt;/p&gt;

</description>
      <category>homeassistant</category>
      <category>homelab</category>
      <category>selfhosted</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Ollama 0.40.7: qué cambia y a quién afecta en un homelab</title>
      <dc:creator>Jarith</dc:creator>
      <pubDate>Wed, 21 Oct 2026 15:51:47 +0000</pubDate>
      <link>https://dev.to/jarith_9e4e6a83b1e291e8c7/ollama-0407-que-cambia-y-a-quien-afecta-en-un-homelab-kf6</link>
      <guid>https://dev.to/jarith_9e4e6a83b1e291e8c7/ollama-0407-que-cambia-y-a-quien-afecta-en-un-homelab-kf6</guid>
      <description>&lt;h2&gt;
  
  
  Resumen
&lt;/h2&gt;

&lt;p&gt;Según el listado de releases consultado para este artículo, &lt;strong&gt;v0.40.7 aparece como Pre-release&lt;/strong&gt; (tag &lt;code&gt;v0.40.7-rc1&lt;/code&gt;) y no como Latest. En ese mismo listado, la versión marcada como Latest era v0.40.6.&lt;/p&gt;

&lt;p&gt;La página individual de v0.40.7 no pudo descargarse, así que no puedo confirmar que exista una versión estable final ni su fecha. Para un homelab, lo prudente es tratarla como candidata y no como la versión a la que actualizar por defecto.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué ha cambiado
&lt;/h2&gt;

&lt;h3&gt;
  
  
  En v0.40.7 (pre-release)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Se permite el parámetro &lt;code&gt;effort&lt;/code&gt; de la API Responses de OpenAI en modelos sin modo thinking (#19010).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;llama-server&lt;/code&gt; infiere el tipo de speculative decoding del draft (#19064).&lt;/li&gt;
&lt;li&gt;Se añade soporte de PPLX Decider v1.2 en MLX (#19072).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;El extracto disponible no incluye notas de breaking changes ni requisitos de hardware específicos para esta versión.&lt;/p&gt;

&lt;h3&gt;
  
  
  En v0.40.6 (Latest en el listado)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Evita runners huérfanos en Windows (#18500).&lt;/li&gt;
&lt;li&gt;Añade los tipos de tensor y de archivo q2_0 a GGUF (#18967).&lt;/li&gt;
&lt;li&gt;Lanza clef en la nube de Ollama (#19036).&lt;/li&gt;
&lt;li&gt;Usa identificadores para las claves de pregunta del modo &lt;code&gt;--ask&lt;/code&gt; (#19041).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Lo que arrastra la serie 0.40
&lt;/h3&gt;

&lt;p&gt;Si vienes de una versión anterior, lo que más te afectará probablemente no está en 0.40.7, sino en las versiones intermedias:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;v0.40.0:&lt;/strong&gt; en Apple Silicon, las arquitecturas soportadas por el runtime MLX se ejecutan en MLX por defecto. Entre los modelos mencionados están gemma4, qwen3.6 y qwen3.5.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;v0.40.1:&lt;/strong&gt; añade un proxy de las APIs de uso y saldo de la nube (#18829) y elimina el paso de cuenta del onboarding del CLI (#18826). En Windows, evita symlinks en el manifest (#18852).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;v0.40.2:&lt;/strong&gt; los modelos descargados con versiones anteriores se actualizan en segundo plano la primera vez que se ejecutan, para mejorar el rendimiento y la compatibilidad con llama.cpp.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;v0.40.3:&lt;/strong&gt; pausó esa actualización en segundo plano por el rendimiento de las peticiones (embeddings y otras).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;v0.40.4:&lt;/strong&gt; mejora el rendimiento de inferencia reutilizando manifests verificados y modelos ya cargados. También añade soporte de embeddings multimodales vía &lt;code&gt;llama-server&lt;/code&gt; y corrige la carga de modelos de embeddings multimodales con ventanas de contexto pequeñas.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Qué comprobar en tu homelab
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Espacio en disco.&lt;/strong&gt; Ollama conserva la copia original de los modelos migrados como respaldo para poder hacer downgrade, así que los modelos actualizados ocupan espacio extra temporalmente. Las notas de v0.40.2 incluyen un script (requiere &lt;code&gt;jq&lt;/code&gt;) que consulta &lt;code&gt;/api/tags&lt;/code&gt; y &lt;code&gt;/api/show&lt;/code&gt;, selecciona los manifests con runner ggml de los modelos que tienen manifest llamacpp y los elimina con &lt;code&gt;ollama rm&lt;/code&gt;. Solo borra los respaldos: si después vuelves a una versión anterior a 0.40, tendrás que hacer pull de esos modelos otra vez. Los extractos no indican si estos respaldos se eliminan ya automáticamente, así que revisa tú el uso de disco.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Windows.&lt;/strong&gt; Los dos cambios relevantes son que v0.40.1 evita symlinks en el manifest (#18852) y que v0.40.6 evita runners huérfanos (#18500). Si usas Windows, la v0.40.6 es la que incluye esta última corrección.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Apple Silicon.&lt;/strong&gt; Si tienes un Mac como servidor, ten presente que los modelos de arquitecturas soportadas por MLX se ejecutan en MLX por defecto desde v0.40.0. Compara resultados y rendimiento tras actualizar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Uso de embeddings.&lt;/strong&gt; Si tu stack (por ejemplo, RAG) depende de embeddings, revisa lo ocurrido en v0.40.3 y v0.40.4.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recomendaciones generales (no proceden de las fuentes):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Haz una copia o un listado de tus modelos antes de actualizar.&lt;/li&gt;
&lt;li&gt;Prueba primero en una máquina secundaria.&lt;/li&gt;
&lt;li&gt;Espera a que v0.40.7 deje de figurar como pre-release antes de ponerla en un servicio que uses a diario.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Limitaciones de las fuentes.&lt;/strong&gt; Las fechas de las releases aparecen sin año en las páginas individuales. Además, varias de las páginas consultadas (v0.40.4, v0.40.5, v0.40.6 y el listado general) figuran como no oficiales en la entrada, aunque su contenido corresponde a las releases de GitHub de &lt;code&gt;ollama/ollama&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fuentes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.3" rel="noopener noreferrer"&gt;Release v0.40.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.3-rc0" rel="noopener noreferrer"&gt;Release v0.40.3-rc0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.2" rel="noopener noreferrer"&gt;Release v0.40.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.1" rel="noopener noreferrer"&gt;Release v0.40.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.1-rc0" rel="noopener noreferrer"&gt;Release v0.40.1-rc0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.0" rel="noopener noreferrer"&gt;Release v0.40.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.0-rc6" rel="noopener noreferrer"&gt;Release v0.40.0-rc6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.0-rc5" rel="noopener noreferrer"&gt;Release v0.40.0-rc5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.4" rel="noopener noreferrer"&gt;Release v0.40.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.5" rel="noopener noreferrer"&gt;Release v0.40.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases/tag/v0.40.6" rel="noopener noreferrer"&gt;Release v0.40.6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ollama/ollama/releases" rel="noopener noreferrer"&gt;Releases · ollama/ollama&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Este artículo se ha elaborado con asistencia automatizada&lt;/em&gt;&lt;/p&gt;

</description>
      <category>homelab</category>
      <category>selfhosted</category>
      <category>ollama</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Guía práctica: Tailscale 1.104.1 en un homelab paso a paso</title>
      <dc:creator>Jarith</dc:creator>
      <pubDate>Wed, 21 Oct 2026 02:50:52 +0000</pubDate>
      <link>https://dev.to/jarith_9e4e6a83b1e291e8c7/guia-practica-tailscale-11041-en-un-homelab-paso-a-paso-1ep2</link>
      <guid>https://dev.to/jarith_9e4e6a83b1e291e8c7/guia-practica-tailscale-11041-en-un-homelab-paso-a-paso-1ep2</guid>
      <description>&lt;h2&gt;
  
  
  Resumen
&lt;/h2&gt;

&lt;p&gt;Esta guía recoge el procedimiento documentado para instalar Tailscale en un equipo Linux de un homelab, autenticarlo en tu tailnet y comprobar que funciona. Como referencia de versión usamos la release v1.104.1 de &lt;code&gt;tailscale/tailscale&lt;/code&gt;: la página de GitHub la mostraba marcada como «Latest» en el momento en que se descargó, y remite al changelog oficial.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Importante:&lt;/strong&gt; las fuentes consultadas no explican cómo fijar o instalar específicamente la versión 1.104.1 con el script de instalación. Tampoco se sabe qué cambia respecto a 1.104.2, cuya página de GitHub no pudo consultarse. Además, la documentación utilizada no se ha confirmado como reflejo exacto de 1.104.1. Trata los pasos como el procedimiento general documentado para el cliente de Linux.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requisitos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Un equipo Linux con gestor de paquetes (apt, yum o zypper).&lt;/li&gt;
&lt;li&gt;Acceso con &lt;code&gt;sudo&lt;/code&gt; y una cuenta para autenticar el equipo en tu tailnet.&lt;/li&gt;
&lt;li&gt;El módulo de kernel &lt;code&gt;tun&lt;/code&gt;. Si falta, se carga con &lt;code&gt;sudo modprobe tun&lt;/code&gt;. Para cargarlo en cada arranque, se añade &lt;code&gt;tun&lt;/code&gt; a &lt;code&gt;/etc/modules&lt;/code&gt; o a &lt;code&gt;/etc/modules-load.d/tun.conf&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Si tu homelab incluye otros clientes: según el changelog consultado, Tailscale v1.104 requiere macOS Ventura 13 o posterior (no funciona en Monterey 12) y iOS 16 o posterior (no soporta iOS 15). Esto no afecta a Linux.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Pasos documentados
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Instalar
&lt;/h3&gt;

&lt;p&gt;En distribuciones con apt, yum o zypper, la documentación de Linux describe un script de instalación de una sola línea que se descarga con &lt;code&gt;curl&lt;/code&gt; y se pasa a &lt;code&gt;sh&lt;/code&gt;. Copia el comando exacto desde la página oficial de instalación en Linux (enlazada en «Fuentes») en lugar de reescribirlo de memoria. Como recomendación general, si prefieres revisar el script antes de ejecutarlo, descárgalo primero a un archivo y léelo.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Alternativa: binarios estáticos
&lt;/h3&gt;

&lt;p&gt;Para distribuciones no cubiertas por el script existen binarios estáticos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;tar &lt;/span&gt;xvf tailscale_&amp;lt;version&amp;gt;_&amp;lt;arquitectura&amp;gt;.tgz
&lt;span class="nb"&gt;sudo &lt;/span&gt;tailscaled &lt;span class="nt"&gt;--state&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;tailscaled.state
&lt;span class="nb"&gt;sudo &lt;/span&gt;tailscale up
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El archivo incluye una configuración de servicio systemd en el subdirectorio &lt;code&gt;systemd/&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Autenticar el equipo
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;tailscale up
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El comando muestra una URL para autenticar el equipo en la tailnet. Después, confirma que el dispositivo aparece en la página Machines de la consola de administración.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Activar Tailscale SSH (opcional)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tailscale &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nt"&gt;--ssh&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;También existe el flag &lt;code&gt;--ssh&lt;/code&gt; en &lt;code&gt;tailscale up&lt;/code&gt;, que por defecto es false y permite el acceso según la política de acceso de la tailnet.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Caducidad de clave en servidores
&lt;/h3&gt;

&lt;p&gt;En servidores, Raspberry Pi, hosts Docker o NAS se puede desactivar la caducidad de clave (key expiry) desde la página Machines de la consola. Esto reduce la seguridad y solo debe hacerse en dispositivos de confianza. Si la clave ya caducó, se fuerza la reautenticación con:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;tailscale up &lt;span class="nt"&gt;--force-reauth&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. Actualizar
&lt;/h3&gt;

&lt;p&gt;El cliente puede actualizarse con &lt;code&gt;tailscale update&lt;/code&gt; (Linux, Windows y macOS), desde la página de descargas o desde el sitio de paquetes de Tailscale, que ofrece las pistas stable, release candidate y unstable. También se pueden configurar actualizaciones automáticas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verificación
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tailscale ip
tailscale status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;tailscale ip&lt;/code&gt; muestra las direcciones IPv4 (100.x.y.z) e IPv6 Tailscale del equipo; con &lt;code&gt;-4&lt;/code&gt; o &lt;code&gt;-6&lt;/code&gt; se filtra la familia.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;tailscale status&lt;/code&gt; muestra el estado de la conexión.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Comprueba además que la máquina figura en la página Machines de la consola.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fuentes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/tailscale/tailscale/releases/tag/v1.104.1" rel="noopener noreferrer"&gt;Release v1.104.1 · tailscale/tailscale · GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailscale.com/changelog" rel="noopener noreferrer"&gt;Changelog · Tailscale&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailscale.com/kb/1347/installation" rel="noopener noreferrer"&gt;Install Tailscale · Tailscale Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailscale.com/kb/1031/install-linux" rel="noopener noreferrer"&gt;Install Tailscale on Linux · Tailscale Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailscale.com/kb/1080/cli" rel="noopener noreferrer"&gt;Tailscale CLI · Tailscale Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Este artículo se ha elaborado con asistencia automatizada&lt;/p&gt;

</description>
      <category>homelab</category>
      <category>selfhosted</category>
      <category>tailscale</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Docker: qué cambia para quien se autoaloja</title>
      <dc:creator>Jarith</dc:creator>
      <pubDate>Sun, 18 Oct 2026 00:05:11 +0000</pubDate>
      <link>https://dev.to/jarith_9e4e6a83b1e291e8c7/docker-que-cambia-para-quien-se-autoaloja-4oid</link>
      <guid>https://dev.to/jarith_9e4e6a83b1e291e8c7/docker-que-cambia-para-quien-se-autoaloja-4oid</guid>
      <description>&lt;h2&gt;
  
  
  Resumen
&lt;/h2&gt;

&lt;p&gt;Si autoalojas servicios con Docker, las notas de versión de la serie 29 traen sobre todo correcciones de seguridad y algunos cambios de comportamiento que conviene revisar antes de actualizar. Según las notas de versión de Docker Engine consultadas el 2026-10-17, la última versión listada es la 29.9.1 (2026-10-14). Este estado se refiere a esas notas y puede haber cambiado desde entonces.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué ha cambiado
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Seguridad
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;29.9.1 (2026-10-14)&lt;/strong&gt;: actualiza containerd a v2.4.2. Esa versión corrige CVE-2026-95839 (caída de containerd al hacer pull o import con un descriptor hijo con anotación &lt;code&gt;io.containerd.manifest.subject&lt;/code&gt; y digest malformado), GHSA-8647-2jxj-p2rc (registro no confiable con Content-Length manipulado) y GHSA-hc94-p972-ch66 (agotamiento de disco por capas sin límite de tamaño declarado).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;29.9.0 (2026-10-08)&lt;/strong&gt;: actualiza el runtime de Go y corrige cinco CVE (cuatro de HTTP/2 que podían tumbar el daemon o agotar memoria y CPU, y uno de Windows). También actualiza BuildKit a v0.34.0 y containerd a v2.4.1.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;29.8.2 (2026-09-30)&lt;/strong&gt;: corrige CVE-2026-53493 (índice OCI manipulado con consumo ilimitado de CPU y memoria), CVE-2026-92543 (respuesta DNS maliciosa que podía omitir la verificación TLS del registro o degradar a HTTP) y CVE-2026-92542 (tramas Ethernet falsificadas en redes overlay cifradas de Swarm). Corrige además varios CVE de BuildKit (CVE-2026-93315 a CVE-2026-93323 y CVE-2026-93326).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Redes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;En 29.9.0 se corrige un fallo en redes overlay cifradas. Ante errores al programar el kernel, parte del tráfico hacia algunos nodos podía enviarse en claro. La pérdida de confidencialidad se limita a flujos unidireccionales (por ejemplo, consultas DNS UDP) e intentos de handshake que no prosiguen.&lt;/li&gt;
&lt;li&gt;También en 29.9.0, los puertos publicados de servicios Swarm pasan a ser accesibles en las direcciones IPv6 del host con el proxy de usuario habilitado. Una modificación de v29.8.0 lo habilitó de forma incidental y desde 29.9.0 es una función probada y soportada.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Otros cambios de comportamiento
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;En 29.8.0 se añade la opción &lt;code&gt;--umask&lt;/code&gt; en &lt;code&gt;docker create&lt;/code&gt; y &lt;code&gt;docker run&lt;/code&gt;, se reservan los nombres de red &lt;code&gt;container&lt;/code&gt; y &lt;code&gt;container:&lt;/code&gt;, y el mínimo de Go del SDK pasa a 1.26.&lt;/li&gt;
&lt;li&gt;En 29.7.0 empezaron a respetarse los límites de descargas y subidas concurrentes con el almacén de imágenes containerd. Para conservar el comportamiento previo sin límite hay que configurar &lt;code&gt;max-concurrent-downloads&lt;/code&gt; y &lt;code&gt;max-concurrent-uploads&lt;/code&gt; a 0. Esa versión introdujo además regresiones en pulls, corregidas en 29.7.1 y 29.7.2.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Docker Desktop
&lt;/h3&gt;

&lt;p&gt;Docker Desktop 4.94.0 (2026-10-05) incluye Docker Engine v29.8.2 y cambia el driver de logging por defecto de los contenedores Linux nuevos a &lt;code&gt;local&lt;/code&gt;, que rota los logs automáticamente. Docker Desktop 4.95.0 (2026-10-12) es la última versión listada en las notas consultadas el 2026-10-17. El Engine que trae Desktop no tiene por qué coincidir con el último Engine publicado.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué comprobar en tu homelab
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Según la documentación
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Origen del paquete&lt;/strong&gt;: los paquetes de los repositorios de cada distribución los mantienen los empaquetadores de la distro y pueden diferir en configuración o código. Docker ofrece además binarios estáticos para instalación manual. Comprueba de dónde viene tu instalación para saber qué versión puedes obtener.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compatibilidad de parches&lt;/strong&gt;: la documentación de instalación indica que los parches son siempre retrocompatibles con su versión mayor y menor. También indica que existen los canales stable y test, y que el test incluye funciones experimentales sujetas a cambios incompatibles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Soporte&lt;/strong&gt;: Docker no ofrece soporte para Docker Engine como tal, que es un proyecto open source respaldado por Moby.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exposición de la API&lt;/strong&gt;: según la guía de seguridad, exponer la API del daemon por HTTP sin TLS no está permitido y hace que el daemon falle al arrancar. Se recomienda TLS o SSH (&lt;code&gt;DOCKER_HOST=ssh://&lt;/code&gt;) y que el daemon solo sea alcanzable desde una red de confianza o VPN.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Límites de concurrencia&lt;/strong&gt;: si usas el almacén de imágenes containerd y dependías de descargas sin límite, revisa &lt;code&gt;max-concurrent-downloads&lt;/code&gt; y &lt;code&gt;max-concurrent-uploads&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swarm e IPv6&lt;/strong&gt;: si usas Swarm, revisa qué puertos publicados quedan accesibles por IPv6.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Logs en Desktop&lt;/strong&gt;: si usas Docker Desktop, ten en cuenta el nuevo driver de logging por defecto en contenedores nuevos.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Recomendaciones generales
&lt;/h3&gt;

&lt;p&gt;Son consejos propios, no afirmaciones de las fuentes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Haz copia de seguridad de volúmenes y de los ficheros Compose antes de actualizar.&lt;/li&gt;
&lt;li&gt;Anota la versión actual para poder volver atrás.&lt;/li&gt;
&lt;li&gt;Actualiza primero un servicio o nodo poco crítico.&lt;/li&gt;
&lt;li&gt;Revisa los logs tras el cambio.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Lo que las fuentes no aclaran
&lt;/h3&gt;

&lt;p&gt;Las fuentes consultadas no detallan los pasos de actualización por distribución ni los cambios de ruptura entre series. Tampoco indican la versión mínima recomendada de partida ni la política de soporte de ramas anteriores. Consulta las notas oficiales completas antes de actualizar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fuentes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Docker Engine version 29 release notes: &lt;a href="https://docs.docker.com/engine/release-notes" rel="noopener noreferrer"&gt;https://docs.docker.com/engine/release-notes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docker Desktop release notes: &lt;a href="https://docs.docker.com/desktop/release-notes" rel="noopener noreferrer"&gt;https://docs.docker.com/desktop/release-notes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Install Docker Engine: &lt;a href="https://docs.docker.com/engine/install" rel="noopener noreferrer"&gt;https://docs.docker.com/engine/install&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docker Engine security: &lt;a href="https://docs.docker.com/engine/security" rel="noopener noreferrer"&gt;https://docs.docker.com/engine/security&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Este artículo se ha elaborado con asistencia automatizada&lt;/p&gt;

</description>
      <category>docker</category>
      <category>homelab</category>
      <category>selfhosted</category>
      <category>spanish</category>
    </item>
    <item>
      <title>n8n 2.44.0: qué cambia y a quién afecta en un homelab</title>
      <dc:creator>Jarith</dc:creator>
      <pubDate>Fri, 16 Oct 2026 16:02:37 +0000</pubDate>
      <link>https://dev.to/jarith_9e4e6a83b1e291e8c7/n8n-2440-que-cambia-y-a-quien-afecta-en-un-homelab-147h</link>
      <guid>https://dev.to/jarith_9e4e6a83b1e291e8c7/n8n-2440-que-cambia-y-a-quien-afecta-en-un-homelab-147h</guid>
      <description>&lt;h2&gt;
  
  
  Resumen
&lt;/h2&gt;

&lt;p&gt;n8n 2.44.0 se publicó el 2026-10-13 y aparece marcada como Pre-release en GitHub; incluye una larga lista de correcciones y novedades. Después han llegado tres parches: 2.44.1 (2026-10-14), 2.44.2 (2026-10-15) y 2.44.3 (2026-10-16).&lt;/p&gt;

&lt;p&gt;Según la documentación de n8n para Docker consultada el 2026-10-16, la versión estable es 2.43.7 y la beta es 2.44.3; la beta puede ser inestable y la estable es la recomendada para producción. Si tu homelab es de uso real y no de pruebas, conviene tenerlo en cuenta antes de saltar a 2.44.x.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qué ha cambiado
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;2.44.0&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Novedades: nueva credencial Google Vertex AI, nodo Microsoft SharePoint Trigger, opción configurable de timeout del health check y política de bloqueo de creación/actualización de workflows con nodos deprecados.&lt;/li&gt;
&lt;li&gt;Observabilidad: métricas Prometheus para la recuperación de la conexión a base de datos, métricas servidas mientras la base de datos no está disponible, y el ID de ejecución en cada span OTel.&lt;/li&gt;
&lt;li&gt;Queue mode/workers: los jobs desencolados durante el apagado de un worker, o recuperados antes de pausarse, se devuelven a la cola; los jobs se cuentan como en ejecución desde el inicio de su procesamiento; y cada segmento de Chat Hub se gestiona una sola vez.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Parches posteriores&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2.44.1: solo añade mostrar los modelos Gemini por nombre y listar primero los priorizados en los selectores de modelo.&lt;/li&gt;
&lt;li&gt;2.44.2: corrige que se cree un parser XML nuevo para cada cuerpo de petición de webhook.&lt;/li&gt;
&lt;li&gt;2.44.3: corrige que se descartara la respuesta en lugar de conservar las líneas de detalle del Observer.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Qué comprobar en tu homelab
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Estable o beta.&lt;/strong&gt; A fecha de 2026-10-16, la documentación señala 2.43.7 como estable y 2.44.3 como beta. Decide si quieres probar la beta o esperar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cambios incompatibles.&lt;/strong&gt; Las fuentes consultadas no indican si 2.44.0 trae breaking changes para self-hosting; las notas de GitHub solo listan fixes y novedades. La guía de actualización recomienda revisar las release notes por cambios incompatibles. La página de release notes de la documentación está truncada y no cubre 2.44, así que revisa las notas de GitHub directamente.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workflows con nodos deprecados.&lt;/strong&gt; Como 2.44.0 incluye una política de bloqueo de creación/actualización con nodos deprecados, revisa si alguno de tus workflows los usa.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prueba primero.&lt;/strong&gt; La guía recomienda actualizar con frecuencia (al menos una vez al mes) y probar antes la actualización en una instancia de test.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Queue mode.&lt;/strong&gt; Si usas workers, todos los workers y mains deben ejecutar la misma versión, y la clave de cifrado de la instancia principal debe compartirse con los workers. Los arreglos de 2.44.0 te afectan sobre todo en este escenario.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observabilidad.&lt;/strong&gt; Si monitorizas con Prometheus u OpenTelemetry, las nuevas métricas y el ID de ejecución en los spans pueden resultarte útiles.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Cómo actualizar con Docker&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Con Docker Compose: ve al directorio del compose y ejecuta &lt;code&gt;docker compose pull&lt;/code&gt;, &lt;code&gt;docker compose down&lt;/code&gt; y &lt;code&gt;docker compose up -d&lt;/code&gt;. Con docker run, haz pull de una versión concreta (&lt;code&gt;docker pull n8nio/n8n:&amp;lt;versión&amp;gt;&lt;/code&gt;), para y elimina el contenedor y vuelve a arrancarlo.&lt;/p&gt;

&lt;p&gt;Recomendación general: antes de actualizar, haz una copia de seguridad de tus datos y fija una versión concreta en lugar de usar una etiqueta flotante.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fuentes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/n8n-io/n8n/releases/tag/n8n%402.44.0" rel="noopener noreferrer"&gt;Release n8n@2.44.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/n8n-io/n8n/releases/tag/n8n%402.44.1" rel="noopener noreferrer"&gt;Release n8n@2.44.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/n8n-io/n8n/releases/tag/n8n%402.44.2" rel="noopener noreferrer"&gt;Release n8n@2.44.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/n8n-io/n8n/releases/tag/n8n%402.44.3" rel="noopener noreferrer"&gt;Release n8n@2.44.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n8n.io/hosting/installation/docker" rel="noopener noreferrer"&gt;Install with Docker (docs.n8n.io)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n8n.io/hosting/installation/updating" rel="noopener noreferrer"&gt;Update n8n (docs.n8n.io)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n8n.io/hosting/scaling/queue-mode" rel="noopener noreferrer"&gt;Enable queue mode (docs.n8n.io)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Este artículo se ha elaborado con asistencia automatizada&lt;/p&gt;

</description>
      <category>homelab</category>
      <category>selfhosted</category>
      <category>n8n</category>
      <category>spanish</category>
    </item>
  </channel>
</rss>
