S3 Performance and Homelab Hardware Musings

Wherein I figure out why my Ceph S3 is so slow and think about potential hardware upgrades. As part of my goaccess post, I had to copy around almost 60 GB of logs, from my laptop to my desktop. I decided to do that via my Ceph S3. And it was very, very slow. There were 185 files to copy, with a total size just shy of 60 GiB. The majority of that size comes from two Traefik log files, both around 30 GiB in size. I used Rclone to sync the files to an empty directory on my desktop with this command: ...

January 8, 2026 · 11 min · Michael
The FreshRSS logo. It is based on the RSS logo, with the dot in the center and the two radio transmission waves in the top right quarter of the logo. FreshRSS adds radio waves in the top left and bottom right quarters as well.

FreshRSS: An RSS/Atom Feed Reader

Wherein I end up replacing my Brief setup for RSS with FreshRSS. Over the holidays, I visited my family and only had my laptop with me. While I have most things properly synced, my RSS feed subscriptions are not. Up to now, I’ve been using the Brief Firefox extension. It looks like this: Example of the Brief UI ...

January 5, 2026 · 14 min · Michael
A screenshot of a terminal window. It shows the top of goaccess' dashboard, indicating that 28 million requests have been analyzed. Below that general overview comes a table of hits and visitors per day. Showing for example 28k hits for December 25th. Below that table is another one showing the requested files. It shows that 8 million hits, 44% of the total, were GET requests for /inbox, which is part of the API of my Mastodon instance. I will describe the UI and data in more detail in the main text.

Goaccess: A CLI Tool for Webserver Access Log Analysis

Wherein I talk about a small tool for access log analysis on the terminal. I recently re-discovered a small tool I already came across a while ago, but never wrote a post about: Goaccess. It’s a command line tool which can be used to do quick analysis of web server access logs. It understands some of the standard formats from e.g. Apache out of the box, but also provides facilities to parse other log formats. In this post, I will use it to parse 30 GB worth of logs from my public-facing Traefik instance and see what I can get out of it. ...

January 3, 2026 · 11 min · Michael

Updating the Firmware on my Turing Pi 2 Boards

Wherein I update my Turing Pi 2 boards to a new firmware. During the migration of my Homelab to a fleet of Raspberry Pi 4, I bought two Turing Pi 2 boards and put eight Raspberry Pi CM4 8GB into them. You can read more about my setup here. The board has a nice Board Management Controller (BMC). It is an Allwinner SoC with 128 MB of RAM and 128 MB of flash for the OS. It’s running an embedded Linux distribution. This BMC implements a few interesting features: ...

December 18, 2025 · 13 min · Michael

Kubernetes Cert Renewal and Monitoring

Wherein I let my kubectl certs expire and implement some monitoring. A couple of days ago, I was getting through my list of small maintenance tasks in my Kubernetes cluster. Stuff like checking the resource consumption of new deployments and adapting the resource limits. And in the middle of it, one of my kubectl invocations was greeted by this message: error: You must be logged in to the server (Unauthorized) So I had a look at my kubectl credentials. For those who don’t know, kubectl authenticates to the cluster with a client TLS cert by default. I had just copied the admin.conf config file kubeadm helpfully creates during cluster setup. I didn’t really see any reason to set up anything more elaborate, considering that I’m the only admin in the cluster. ...

December 7, 2025 · 10 min · Michael