Monitoring Kubernetes with Informers and Home Assistant

I’m running HomeAssistant along with a number of other services using microk8s and half-a-dozen Raspberry Pi4’s. The Kubernetes API provides a means for us to see the status of nodes, deployments, statefulsets and pods. I started off polling the API for updates but recently updated the code to use Informers. I couldn’t find much documentation out there so hopefully this post is useful for someone…

Windows update has broken my Zoom and Skype audio...

Windows update has broken my Zoom and Skype audio… After restarting following today’s Windows update, I could no longer hear anything on Zoom calls. After a couple of hours of investigating, it turns out Skype audio is broken too and seems to be related to dual microphone / speaker usage through the same bluetooth device… Does not work: Powerbeat headphone and microphone output Works OK: Powerbeats headphone output with the the SurfacePro microphone Works OK: SurfacePro headphone and microphone output with the Realtek driver Any chance of a fix, Microsoft?

Setting Up a Wireguard Vpn Using Kubernetes

I’ve been playing with a home Kubernetes setup and slowly moving my docker images across. So far it’s been fairly straight-forward but wireguard presented a challenge… The post from Christian Seifert @ finally got me up and running so posting here for my records…

The other piece of really useful information was this post on stackoverflow: What’s the difference between ClusterIP, NodePort and LoadBalancer service types in Kubernetes?

One more tip - the AllowedIPs parameter is different for the server and the clients.

Finding Interesting Fediverse Content

I’ve been running a single-user instance Mastodon server for a few months. Being a single-user instance, it can be fairly quiet at times and one of the aspects I’ve been exploring is finding and adding targeted content to the Federated timeline…

Migrating Subversion to Git

After running subversion for many many years, I’ve finally taken the plunge and migrated everything to git with a local install of gitea The migration took some figuring out but I ended up with a fairly straight-forward script. For more details on my gitea setup are in a previous post Organising Blender Scripts

Upgrading PeerTube

My notes for upgrading dockerised PeerTube

Upgrading Mastodon

My notes for upgrading a dockerised mastodon instance

Running Blender remotely on Ubuntu with Tiger VNC

When I render animations with Blender on Windows, after a while background jobs kick in and rendering performance falls off a cliff. This post outlines how to get Blender running remotely on Ubuntu Desktop with Tiger VNC

Using Tmux to Render With Blender Over Ssh

Rending animations with Blender is a log running process. It is possible to keep an ssh session open for the duration of the render but we can use use tmux to keep the blender process running in the background.

Blender Quick Tip: Changing the Camera From the Command Line at Render Time

If you have multiple cameras set up and want to render different views from the command line without manually changing cameras through the UI, it is possible to use a short python script at render time:

How to check if a Hugo site is in development or production

I wanted to render the hugo navigation differently on my development (internal) server and my production (public) server. This is how I did it for partials…

Hugo search with lunr

One of the last things bugging me about my blog migration to Hugo is being able to search posts. I use the blog privately to capture my own notes on topics and want to be able to quickly find them. I quickly ruled out using an external search engine and started experimenting with lunr.

Organising Blender Scripts

Somehow, I’d ended up with Blender scripts scattered over a number of different folders across multiple machines. Most python scripts but also a new javascript and other files. As a result, I’d been struggling to find previous work (or specific functions) and generally getting frustrated. I recently install a local gitea instance and today I finally got round to moving all my scripts to a single repository / folder structure. A simple readme markdown file helps me keep track of what is where…

Peertube Docker Traefik

Getting peertube up and running in docker using traefik as a web proxy turned out to be quite straightforward. The peertube docker instructions are good. Traefik is being used as the webserver proxy so we can comment out that section. I also use a wildcard LetsEncrypt certificate with DNS validation so the certbot section is also commented out. I then only had to make a couple of changes to the docker-compose file to add the traefik labels and set up a volume for the peertube assets.

Finding the largest files and directories on Ubuntu

I keep forgetting how best to find the files and directories using up all the available disk space…

How to permanently change the hostname on Ubuntu

I tried many ways and the hostname kept getting reset back to the previous value. Turns out there are two steps to changing the hostname permanently on Ubunut. Firstly, update preserve_hostname in /etc/cloud/cloud.cfg preserve_hostname: true Secondly use hostnamectl to change the hostname sudo hostnamectl set-hostname new-host-name Now when we reboot, the hostname will stay as new-host-name

Wireless Doorbell with esphome and homeassistant

A short description for turning an ancient doorbell into a smart doorbell with esphome, homeassistant and mqtt

Restoring espresense Apple pairings with Mosquitto mqtt

We are experimenting with espresense to determine whether anyone is at home or not. So far, it seems to be working pretty well. A feature that sets espresense apart is the ability to detect Apple devices, specifically iPhones. It does this by pairing with the device and saving the remote IRK (identity resolving key). This is stored as a retained message on the esprense/settings mqtt topic. On occassion (likely a docker start), these retained messages have been cleared from the mqtt topic.

Getting Hugo Up and Running With a Fresh Docker Install

I’m a big fan of Docker as a way to isolate services and avoid the need to install dependencies on the base operating system. There turned out to be a few nuances getting Hugo up and running.