Categories

Tools

How to fix No vector extension found when upgrading Immich to v3

The No vector extension found error appears when Immich v3 starts on the old tensorchord/pgvecto-rs image, because version 3 no longer supports pgvecto.rs. Switch the Postgres image to ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0, let Immich migrate to VectorChord, and you keep smart search and faces.

Tools

How to fix quay.io/minio/minio 401 UNAUTHORIZED in Docker and Kubernetes

The quay.io/minio/minio 401 UNAUTHORIZED error is not a credentials problem: MinIO took public access away from that repository in September 2026 and it fails for every tag. Switch the image to cgr.dev/chainguard/minio or pgsty/silo in Compose, Kubernetes or Helm; the AIStor image on Quay still pulls, but without a license it refuses every request.

How to Install

How to install Docker on Ubuntu 26.04 LTS, step by step

To install Docker on Ubuntu 26.04 LTS, add Docker's official repository with its GPG key and a docker.sources file, then install docker-ce, containerd.io and the Buildx and Compose plugins. On 7 October 2026 that gave Docker 29.8.2 and Compose 5.6.0, against Docker 29.1.3 and Compose 2.40.3 from Ubuntu's docker.io package.

Tools

Node.js 26 is now LTS: how to move your Docker image from Node 24

Node.js 26 becomes active LTS on 28 October 2026 and Node 24 enters maintenance on 20 October. Moving a Docker image takes swapping node:24-slim for node:26-slim, but check three things first: the removed internal _stream_* modules, the removed writeHeader() and native modules, which target ABI 147.

Tools

How to fix Authentik 2026.8 treating HTTPS as HTTP behind a reverse proxy

Authentik 2026.8 only accepts X-Forwarded-Proto, X-Forwarded-Host and X-Forwarded-For when the connection comes from a network listed in AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS. If your reverse proxy sits outside the default private ranges, Authentik treats the request as HTTP and login breaks. Add the proxy's IP or network to that variable and restart.

Tools

How to run Grafana Tempo 3.1 with Docker Compose and Alloy

Grafana Tempo 3.1 stores distributed traces and queries them with TraceQL. In Docker Compose one container in monolithic mode is enough, with no Kafka, using Alloy as the OpenTelemetry collector and Grafana to explore them. Since 3.1 it writes vParquet5 blocks and supports arithmetic in TraceQL metrics; coming from 2.x, the config has to be migrated.

Tools

How to fix r.map is not a function in the Jellyfin 12 dashboard

The Jellyfin 12 dashboard error r.map is not a function appears when /web/ConfigurationPages returns HTML or an empty body instead of JSON, and the web client keeps that answer in IndexedDB for 24 hours. Fix the reverse proxy, then delete the jellyfin-query-cache key and the browser's cached files.

Tools

How to fix unexpected argument ‘–frozen-lockfile’ found in pnpm 12

The unexpected argument '--frozen-lockfile' found error appears because npm install -g pnpm now installs pnpm 12, rewritten in Rust, and its CLI no longer takes a space-separated value. Replace --frozen-lockfile false with --no-frozen-lockfile, and pin pnpm in your Dockerfile and in packageManager so the next major does not surprise you.

Tools

How to upgrade to Nginx Proxy Manager 2.16 without losing hosts or certificates

You upgrade Nginx Proxy Manager to 2.16.0 by changing the image tag and recreating the container. It ships no database migrations, and in my test it kept every host, certificate and access list. Back up data and letsencrypt first: rolling back to 2.15 by swapping only the image leaves any path you protect with the new feature unprotected.

How to Install

How to install Talos Linux in your homelab, from Docker to Proxmox

To install Talos Linux without touching hardware, talosctl cluster create docker brings up a two-node Kubernetes cluster in containers. On real machines or Proxmox three things change: you boot an Image Factory ISO, push the configuration with apply-config and run bootstrap exactly once. Everything is operated through an API, with no SSH.

Tools

How to fix You cannot import from disallowed hosts in Gitea 28

Gitea 28 shows You cannot import from disallowed hosts when you migrate or mirror from a private IP, such as another container on your Docker network. A hostname is no longer enough: add the source IP or subnet with its port to [migrations] ALLOWED_HOST_LIST, for example 172.31.105.0/24:3000, and the migration goes through.

Tools

How to migrate from Promtail to Grafana Alloy with Docker without losing logs

Promtail lost support on 2 March 2026 and its replacement is Grafana Alloy. The alloy convert command translates the configuration and inherits the positions file, but it silently changes multiline and rereads the history of Docker containers. Here I migrate a real setup and check with LogQL that no line is lost or duplicated.

Tools

How to fix pull access denied for minio/mc in a createbuckets init container

The pull access denied for minio/mc error appears because MinIO deleted that image from Docker Hub in September 2026, and it stops the whole compose stack even though only the bucket-creation container uses it. Swap it for pgsty/silo, the Chainguard image or aws-cli, or drop the service if your buckets already exist.

Tools

Jellyfin 12: fix Error loading configuration file encoding.xml

The Error loading configuration file: /config/config/encoding.xml message in Jellyfin 12.0 and 12.1 comes from the EncoderPreset xsi:nil line that 10.11 writes by default. The server starts, but transcoding falls back to defaults and QSV is gone. Jump to 12.2 before migrating, or change that line to auto.

Artificial Intelligence

How to generate speech with oMLX TTS models on your Mac

oMLX serves text-to-speech (TTS) models on an Apple Silicon Mac through the same API as OpenAI. With POST /v1/audio/speech you request audio in a preset voice, a voice described in plain language or a voice cloned from a few seconds of reference. On an M5 Max, Qwen3-TTS 1.7B generates each second of audio in 0.33 s.

Tools

How to upgrade Nextcloud to version 35 with Docker without losing data

To upgrade Nextcloud 34 to 35 in Docker, back up the database and the volume, switch the image to nextcloud:35 and let the container start run occ upgrade. You can only move one major version at a time. What breaks are apps with no release for 35, and going back to 34 means restoring the backup.

Artificial Intelligence

What changes in oMLX 0.7.2 and how to upgrade it on your Mac

oMLX 0.7.2, released on 21 October 2026, one day after 0.7.1, speeds up DeepSeek V4.1 on the oQ2e to oQ4e quants, turns on Lightning MTP in multi-Mac clusters, runs Qwen3.8-Flash-Next GGUFs on Splash and stops re-prefilling the whole conversation on every Claude Code turn. You upgrade it from the app, Homebrew or source.

Tools

Vaultwarden SSO with OpenID Connect and Pocket ID in Docker

Vaultwarden 1.37.3 supports single sign-on over OpenID Connect through SSO_ENABLED, SSO_AUTHORITY and a client registered in your provider. With Pocket ID you sign in with a passkey, but the master password is still required because it is what encrypts the vault. SSO_SIGNUPS_ALLOWED decides whether SSO may create new accounts.

Artificial Intelligence

How to fix error: invalid argument: –mlock in llama.cpp

llama-server prints error: invalid argument: --mlock because build b10875, from 9 September 2026, deleted --mmap, --no-mmap, --mlock and --direct-io. Replace them with --load-mode: --mlock becomes mmap+mlock, --no-mmap becomes none and --direct-io becomes dio. The LLAMA_ARG_MLOCK and LLAMA_ARG_MMAP variables now do nothing, with no warning.

Technology

MariaDB 13 new features in Docker, and whether to upgrade

MariaDB 13.0.2, stable since 15 September 2026, is a rolling release with community support until Q4 2026, not an LTS. It adds redo log archiving, UPDATE with RETURNING and implicit query block names for hints. I upgraded in Docker from 12.3 and 11.8: the server starts, but mariadb-upgrade misses broken stored routines.

AI Agents

How to secure your MCP server with Keycloak and OAuth in Docker

Keycloak 26.7.4 can act as the authorization server for an MCP server: it publishes its metadata, supports dynamic client registration and issues JWTs that FastMCP validates. It does not implement RFC 8707, so the token audience comes from a client scope and a mapper, and the MCP server must always check it.

Tools

WSL containers is now stable: what changes versus Docker Desktop on Windows

WSL containers is the WSL 3.0.1 feature that ships wslc.exe, a CLI with Docker syntax to build and run Linux containers on Windows without installing another engine. It has been stable since 29 September 2026, but it does not read compose.yaml yet, so Docker Desktop is still needed for Compose projects.

Tools

Wolfi vs Alpine vs distroless, measured with the same Docker app

I built the same Go and Python app on Wolfi, Alpine, distroless and Debian slim. For Go, chainguard/static and distroless/static leave 3.1 and 3.3 MB compressed with zero CVEs. For Python, Alpine gives the smallest image (24.2 MB) if every dependency ships a musl wheel; Debian slim weighs twice as much and Trivy reports 204 findings.