ktz.

Podcaster. Musician. Photographer. Tailscalar.

technical

Gitea Webhook Change

A while back I wrote about deploying DroneCI and Gitea together to build projects automatically. A few months ago my CI broke and I've only just now gotten around to fixing it. In PR #17482 the Gitea project introduced a breaking change for security reasons. They introduced a new webhook.ALLOWED_HOST_LIST value which needed to be configured in order for webhooks to work. Diagnosis In Gitea open the repo in question and navigate to the repo specific settings -> webhooks. Next utilise the rec

technical

Eliminating 3D Printer vibration noise transmission

If you've been wanting to make your 3D printer quieter then these Sorbothane feet are the best way to do this. Using 6 of these little squash ball like rubber feet screwed into the bottom of a Prusa i3 MK3 the reduction in noise levels was truly *astonishing*. As you can see, I place my printer on a wooden butcher block countertop. Between the concrete paver and the countertop there are some anti vibration pads made of foam. The sound from the printer placed directly on the paver is much less

mkdocs

Making mkdocs tables look like Github markdown tables

Adding custom CSS to the mkdocs material theme is straightforward. Follow the docs and you can make tweaks to the CSS of the theme as you need. I'm a big fan of the way in which Githubs markdown rendering engine renders tables. Alternate coloured lines, reasonable padding for decent information density that is easy on the eyes and legible text. These are things I felt that the stock mkdocs material theme table "skin" failed on, so I spent a bit of time figuring out how to fix that today. Stoc

docker

Monolithic docker-compose files filtered with profiles

Those of us who use docker-compose to manage our fleets of containers generally fall into two camps. Camp A prefers one monolithic docker-compose file per host using docker-compose <command> <service> to interact with each service. Camp B split up their configuration into multiple files with some kind of logical grouping which makes sense to them. This post will provide an overview of using profiles with docker-compose to address multiple services within a monolithic file. This aims to provide

synology

Access a Synology NAS with Traefik on DSM7

With the recent update to DSM7 my Synology NAS has been transformed. It now runs a recent version of docker, I can use Ansible to manage docker-compose like I do with all my other systems and it now runs systemd! I use Traefik as my reverse proxy of choice, I understand it well and use it everywhere across about a dozen hosts - both at home and in the cloud. So it's logical to me to use Traefik to handle reverse proxying and TLS certification with the Synology box I have - the DS1621+. Pre-re

drums

Drumming Advent Challenge!

For some reason I woke up on December 1st and decided I'd try to play and record 25 songs in 25 days. So far we're 14 days in and I'm having a blast! You can find my covers on YouTube - each song was selected, learned and recorded in one day. Why? Well, why not? It seemed like a good way to encourage myself to play more and it's a chance for me to share my music taste with the world too. I hope you enjoy watching the covers as much as I have enjoyed playing them!

technical

Installing Valetudo on Xiaomi Roborock S5 Robovac - The easy way!

In December I wrote a convoluted post on obtaining the token from a Xiaomi robovac. I'm pleased to detail a much simpler way in this post. We are going to install Valetudo which is a standalone binary that runs on rooted Vacuums of the Xiaomi ecosystem and aims to enable the user to operate the robot vacuum without any Cloud Connection whatsoever. Reset the Robovac to Factory Settings First, reset the Robovac to factory settings. * Press and hold the recharge button for 3-5 seconds - do no

traefik

Traefik v2 and external services like Home Assistant and Blue Iris

I recently made the switch from the nginx reverse proxy life to Traefik. I've written a couple of other posts recently about the process: * Running Unifi controller behind Traefik * Running InvoiceNinja behind Traefik Today's post is going to cover the final piece of the jigsaw I needed to solve before I could dump nginx, the file provider. In otherwords - how do I use Traefik to route traffic for services that aren't containers or published via another service discovery backend? In the case

terraform

How to use count with modules in Terraform 0.13

The upcoming 0.13 release of Terraform adds many new features. In my opinion none are more exciting than finally being able using count when calling a module. At last this means that we can define a reusable chunk of code, in the form of a module, and use the fantastic count feature of Terraform as if we were inside a resource. Modules In it's most basic form a module is a block of re-usable code. Confusingly, a module in Terraform is technically any set of templates in a folder. However, in

3d printing

Fix bad TPU prints

I have a confession. This week a roll of TPU filament purchased from Rigid Ink in March 2018 was discovered lurking in a box and it was time to print some antenna holders for an FPV drone. The trouble with filament that's been left in storage, however carefully, is that due to the hygroscopic nature of certain filaments they basically become waterlogged. TPU is particularly badly affected by this. The roll I had was still factory sealed with a dessicant packet inside the spool and yet it was cl