Categories

Tools

How to install OpenObserve with Docker and alert on SLOs

OpenObserve 1.0 is a single binary that stores logs, metrics and traces, and its AGPL edition ships SLOs with burn-rate alerts. With Docker Compose, Vector and the v1.0.4 image I had it ingesting nginx logs within minutes; the SLO and its alert worked after four traps that this guide explains.

Tools

What works today in ArtCraft’s Crafting Apps, twelve creative apps in Rust

ArtCraft's Crafting Apps are twelve open-source creative apps written in Rust, licensed MIT or Apache 2.0, that you can also drive from a CLI and over MCP. I tested them on 13 October 2026 on Linux arm64: PhotoCraft 0.8.2 and PdfCraft 0.7.1 work from the terminal, over MCP and in the browser, but they are still early alpha.

Architecture

HPA scale to zero in Kubernetes 1.37: try it on k3s

Since Kubernetes 1.37 the HPA accepts minReplicas: 0 without enabling any feature gate, but only with an External or Object metric: CPU cannot do it, because with no pods there is no CPU to measure. On k3s 1.37 with a Redis queue and prometheus-adapter, the HPA requested the first pod after a median of 13 s and was back at 0 after 58 s.

Artificial Intelligence

How to install and use Open GSD (gsd-pi) with a local model

To install gsd-pi, the Open GSD terminal agent, run npx @opengsd/gsd-pi@latest with Node.js 22.18 or later. It works without an API key: with a models.json pointing at llama.cpp and a 64k context, a 4B Qwen3.5 finished a task with 12 passing tests and a commit. gsd-core, by contrast, installs inside Claude Code or OpenCode.

Tools

How to upgrade Stirling-PDF to 3.0 with Docker without losing data

Stirling-PDF 3.0.0 upgrades in Docker by changing the image tag: users, settings, API keys and watched folders survive. But 3.0 adds a 1,000 PDFs per month meter for the API and automations, which answers with a 402 error once it runs out, and it needs a new volume for /storage.

Artificial Intelligence

How to red-team a local LLM with garak 0.17 and Ollama

garak 0.17 is NVIDIA's LLM vulnerability scanner: it fires prompt injection, jailbreak, encoding and data-leak probes at your model and counts the failures. Against gemma3 1B on Ollama, on CPU, prompt injection succeeded 66.67% to 93.33% of the time, and a defensive system prompt did not stop it.

AI Agents

How to migrate your MCP server to FastMCP 4 and the Python SDK 2

If your server imports mcp.server.fastmcp, upgrading the mcp package to version 2 breaks it: FastMCP was renamed MCPServer. You have two destinations, MCPServer or FastMCP 4, and both require moving host and port to run(), building MCPError from a code and a message, and replacing ctx.elicit, which fails on 2026-07-28 connections.

Tools

How to install Gatus with Docker Compose, monitoring as code vs Uptime Kuma

Gatus is an uptime monitor you configure with YAML files instead of a web interface. With Docker Compose, the v5.37.0 image and a volume for SQLite, it checks HTTP, TCP, certificates and DNS TXT records, and alerts through a webhook. In my test it alerted on an nginx outage after 30 seconds, the time three 10-second checks take.

Tools

How to fix pull access denied for minio/minio in Docker

The pull access denied for minio/minio error appears because MinIO removed its Docker Hub images in September 2026, and quay.io has required an account since the 24th. Point your compose file at cgr.dev/chainguard/minio, at the pgsty/silo fork or at an image built from source: your existing data keeps working.

Tools

How to install Open WebUI with Docker and Ollama, slim image included

Open WebUI 0.11.4 installs from a two-service docker-compose.yml: Ollama runs the models and the slim Open WebUI image, which on arm64 downloads 176 MB against 1.49 GB for the full one, serves the interface. This guide creates the admin account, chats with a local model and turns on tool approval.

Tools

How to migrate from MinIO to RustFS 1.0 with Docker

To migrate from MinIO to RustFS 1.0 with Docker, run RustFS next to MinIO, import the users with mc admin cluster iam, copy the buckets with rclone sync --metadata and compare them with rclone check --download. In my test 4,012 objects arrived identical; versions, tags and public access had to be redone by hand.