Categorías

Herramientas

Cómo arreglar No vector extension found al actualizar Immich a v3

El error No vector extension found aparece cuando Immich v3 arranca sobre la imagen antigua tensorchord/pgvecto-rs, porque la versión 3 ya no admite pgvecto.rs. Cambia la imagen de Postgres por ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0, deja que Immich migre a VectorChord y conservarás la búsqueda inteligente y las caras.

Cómo Instalar

Cómo instalar Docker en Ubuntu 26.04 LTS paso a paso

Para instalar Docker en Ubuntu 26.04 LTS añade el repositorio oficial de Docker con su clave GPG y un fichero docker.sources, y luego instala docker-ce, containerd.io y los plugins de Buildx y Compose. El 7 de octubre de 2026 eso daba Docker 29.8.2 y Compose 5.6.0, frente a Docker 29.1.3 y Compose 2.40.3 del paquete docker.io de Ubuntu.

Herramientas

Node.js 26 ya es LTS: cómo migrar tu imagen Docker desde Node 24

Node.js 26 pasa a LTS activa el 28 de octubre de 2026 y Node 24 entra en mantenimiento el 20 de octubre. Para migrar una imagen Docker basta cambiar node:24-slim por node:26-slim, pero conviene revisar tres cosas: los módulos internos _stream_* eliminados, writeHeader() eliminado y los módulos nativos, que se recompilan para la ABI 147.

Herramientas

Cómo montar Grafana Tempo 3.1 con Docker Compose y Alloy

Grafana Tempo 3.1 guarda trazas distribuidas y las consulta con TraceQL. En Docker Compose basta un contenedor en modo monolítico, sin Kafka, con Alloy como recolector OpenTelemetry y Grafana para explorarlas. Desde la 3.1 escribe bloques vParquet5 y admite aritmética en TraceQL metrics; si vienes de la 2.x, hay que migrar la configuración.

Herramientas

Cómo arreglar r.map is not a function en el panel de Jellyfin 12

El error r.map is not a function del panel de Jellyfin 12 aparece cuando /web/ConfigurationPages devuelve HTML o un cuerpo vacío en lugar de JSON, y la interfaz guarda esa respuesta en IndexedDB durante 24 horas. Corrige el proxy y después borra la clave jellyfin-query-cache y la caché del navegador.

Herramientas

Cómo arreglar unexpected argument ‘–frozen-lockfile’ found en pnpm 12

El error unexpected argument '--frozen-lockfile' found sale porque npm install -g pnpm ya instala pnpm 12, reescrito en Rust, y su CLI no acepta un valor separado por espacio. Cambia --frozen-lockfile false por --no-frozen-lockfile y fija la versión de pnpm en tu Dockerfile y en packageManager para que la siguiente versión no te sorprenda.

Herramientas

Cómo actualizar a Nginx Proxy Manager 2.16 sin perder hosts ni certificados

Nginx Proxy Manager 2.16.0 se actualiza cambiando la etiqueta de la imagen y recreando el contenedor. No trae migraciones de base de datos y en mi prueba conservó hosts, certificados y listas de acceso. Copia antes data y letsencrypt: volver a 2.15 cambiando solo la imagen deja sin protección las rutas que protejas con la función nueva.

Cómo Instalar

Cómo instalar Talos Linux en tu homelab, de Docker a Proxmox

Para instalar Talos Linux sin tocar hardware, talosctl cluster create docker levanta un clúster de Kubernetes con dos nodos en contenedores. En máquinas reales o en Proxmox cambian tres cosas: arrancas una ISO de la Image Factory, aplicas la configuración con apply-config y ejecutas bootstrap una sola vez. Todo se opera por API, sin SSH.

Herramientas

Cómo arreglar You cannot import from disallowed hosts en Gitea 28

Gitea 28 muestra You cannot import from disallowed hosts cuando migras o haces mirror desde una IP privada, como otro contenedor de tu red Docker. Un nombre de host ya no basta: añade a [migrations] ALLOWED_HOST_LIST la IP o la subred del origen con su puerto, por ejemplo 172.31.105.0/24:3000, y la migración funciona.

Herramientas

Cómo migrar de Promtail a Grafana Alloy con Docker sin perder logs

Promtail dejó de tener soporte el 2 de marzo de 2026 y su sustituto es Grafana Alloy. El comando alloy convert traduce la configuración y hereda el fichero de posiciones, pero cambia multiline sin avisar y relee el historial de los contenedores Docker. Aquí lo migro y compruebo con LogQL que no se pierde ni se duplica ninguna línea.

Inteligencia Artificial

Cómo generar voz con modelos TTS de oMLX en tu Mac

oMLX sirve modelos de texto a voz (TTS) en un Mac con Apple Silicon con la misma API que OpenAI. Con POST /v1/audio/speech pides audio con una voz predefinida, una voz descrita en lenguaje natural o una voz clonada desde unos segundos de referencia. En un M5 Max, Qwen3-TTS 1.7B genera cada segundo de audio en 0,33 s.

Inteligencia Artificial

Qué cambia en oMLX 0.7.2 y cómo actualizarlo en tu Mac

oMLX 0.7.2, publicado el 21 de octubre de 2026, un día después de la 0.7.1, acelera DeepSeek V4.1 en los cuantizados oQ2e a oQ4e, activa Lightning MTP en clústeres de dos o más Mac, ejecuta en Splash los GGUF de Qwen3.8-Flash-Next y deja de repetir el prefill entero en cada turno de Claude Code. Se actualiza desde la app, Homebrew o el código fuente.

Herramientas

Vaultwarden con SSO por OpenID Connect y Pocket ID en Docker

Vaultwarden 1.37.3 acepta inicio de sesión único por OpenID Connect con SSO_ENABLED, SSO_AUTHORITY y un cliente creado en tu proveedor. Con Pocket ID entras con una passkey, pero la contraseña maestra sigue siendo obligatoria porque es la que cifra la bóveda. SSO_SIGNUPS_ALLOWED decide si el SSO puede crear cuentas nuevas.

Inteligencia Artificial

Cómo arreglar error: invalid argument: –mlock en llama.cpp

llama-server responde error: invalid argument: --mlock porque la compilación b10875, del 9 de septiembre de 2026, borró --mmap, --no-mmap, --mlock y --direct-io. Cámbialos por --load-mode: --mlock pasa a mmap+mlock, --no-mmap a none y --direct-io a dio. Las variables LLAMA_ARG_MLOCK y LLAMA_ARG_MMAP ya no hacen nada, sin aviso.

Tecnología

MariaDB 13.0 en Docker: qué trae y si te conviene actualizar

MariaDB 13.0.2, estable desde el 15 de septiembre de 2026, es una versión rolling con soporte comunitario hasta el cuarto trimestre de 2026, no una LTS. Trae archivado del redo log, UPDATE con RETURNING y nombres implícitos para los hints. Actualicé en Docker desde 12.3 y 11.8: arranca, pero mariadb-upgrade no detecta rutinas rotas.

Agentes IA

Cómo proteger tu servidor MCP con Keycloak y OAuth en Docker

Keycloak 26.7.4 puede ser el servidor de autorización de un servidor MCP: publica sus metadatos, admite registro dinámico de clientes y emite tokens JWT que FastMCP valida. No implementa RFC 8707, así que la audiencia del token se fija con un ámbito y un mapper, y el servidor MCP debe comprobarla siempre.

Herramientas

WSL containers ya es estable: qué cambia frente a Docker Desktop en Windows

WSL containers es la función de WSL 3.0.1 que trae wslc.exe, una interfaz de línea de comandos con sintaxis de Docker para construir y ejecutar contenedores Linux en Windows sin instalar otro motor. Es estable desde el 29 de septiembre de 2026, pero aún no lee compose.yaml, así que Docker Desktop sigue siendo necesario para proyectos con Compose.

Herramientas

Wolfi vs Alpine vs distroless, medido con la misma app en Docker

Construí la misma app en Go y en Python sobre Wolfi, Alpine, distroless y Debian slim. En Go, chainguard/static y distroless/static dejan 3,1 y 3,3 MB comprimidos sin CVE. En Python, Alpine da la imagen más pequeña (24,2 MB) si todas tus dependencias tienen rueda musl; Debian slim pesa el doble y Trivy le cuenta 204 avisos.