Nice improvement from Woodpecker CI Update

A few months ago, I wrote about my CI setup for my Smokeweb project, and how I had to take a few workarounds to make it work. And recently, Woodpecker release v3.16.0 fixed a couple of the issues I had. 🎉 If you recall, my main issue was that I couldn’t use Woodpecker’s Service feature. That was due to the fact that I’m using a Ceph RBD StorageClass to provide the pipeline volumes. And those are RWO by nature, meaning they can only be mounted on a single node of my k8s cluster. This, ultimately, meant that if the service for running my test Postgres instance got scheduled on a different node than all of the pipeline steps, there would be a deadlock. The steps won’t be able to start because the pipeline volume is already mounted on the node the Service is running on. ...

July 14, 2026 · 3 min · Michael
The YaCy logo. It shows the YaCy name, with a star next to the final Y. Below it are the words 'Search Engine'.

Yacy Part 2: Crawling and Putting it on the Backburner

This is the second post in my series on the YaCy distributed, self-hosted search engine. The main topic this time is getting pages into the search index via crawling. In contrast to search engines like Google, Bing or Kagi, the content of the search index in YaCy is driven by its users. YaCy has an integrated web crawler to crawl pages and add them to the search index. It can be invoked in one of three ways: ...

June 21, 2026 · 12 min · Michael

I'm Frustrated about my Inability to Advise Homelab Newcomers

I’m going to vent a bit in this one, mostly about myself. Just a few minutes ago, the following post scrolled past me in my Fedi timeline: Anybody self host their blog on their sbc or pc at home? Is there a good tutorial I can follow? I’m especially concerned about opening up ports or exposing my home ip to randos. I read that post and immediately thought: Running my blog on an SBC at home? I’m doing that! Concern about opening ports and “exposing” the home IP to the wider internet? I’ve certainly got opinions on that! ...

June 16, 2026 · 3 min · Michael
The YaCy logo. It shows the YaCy name, with a star next to the final Y. Below it are the words 'Search Engine'.

Yacy Part 1: Deployment

Welcome to the newest rabbit hole I’ve found myself in. This post starts a new series where I’m taking a look at the YaCy self-hosted, distributed peer to peer search engine. And probably web crawling and search ranking algorithms. In this post, I will concentrate on how I deployed YaCy into my Kubernetes cluster, and a few pieces about my first steps with it. You won’t find answers to questions like “how good is it as a Google replacement?” in this post. There’s a lot more work ahead for me to actually make that judgment. ...

June 7, 2026 · 18 min · Michael
A picture with the logos of three projects: The Golang gopher, the PostgreSQL elephant and the WoodpeckerCI woodpecker. The Golang gopher is pretty goofy looking, showing two large front teeth in a small mouth, tiny ears and two large eyes. The Postgres elephant is a stylized front view of an elephant, including tusks and a large trunk. finally, the WoodpeckerCI woodpecker is more of an outline of the namesake bird.

Smokeweb: Setting up Database Connections

After implementing a lot of helpers and basic infrastructure for my Smokeweb app (see here if you’re interested in what the project is about), I finally arrived at creating the database connection. In this post, I will give an overview of the Golang test helpers I implemented for tests which need a database, show you how I implemented some scripting for a Postgres database using Podman and then I will tell you how I implemented database tests in WoodpeckerCI. ...

May 1, 2026 · 18 min · Michael