Fixing a recurring libreelec issue

I mostly make this post to save myself some time next time I run into this issue. I run libreelec on a Raspberry Pi 4 attached to a tv that really just acts as a display, purely to play content from Jellyfin and YouTube. Every few months it will just seemingly randomly stop playing content from either Jelyfin and YouTube, usually at very inconvenient times. To diagnose this I enabled ssh.
Read more →

Yet another networking method for Linux namespaces

All code for this can be found on github. For an application that I’ve been working on, that leverages rootless containers (or rather, rootless namespaces as I don’t follow any of the container standards for this), I needed networking. Docker uses bridges by default, which require root. So that wasn’t worth looking at. Podman mentions slirp4netns quite a bit. Which requires an extra binary to be installed so isn’t ideal, but I ultimately added it as an option anyway (after I wrote what I’m about to talk about).
Read more →

Ingame resource tracking using grafana and prometheus

Not too long ago a new piece of content was added to RuneScape, a MMO I play. This suddenly made some ingame resources that so called workers would gather for you at a configurable speed (but a set limit) more important. As I tend to be quite forgetful about actually emptying these kinds of things I quickly set out to set up alerts for this. I could have gone with a very naive that would just fire after 7 days exactly or something like this, but that’s no fun.
Read more →

Smaller docker images

Inspired by this post I saw on hackernews yesterday. I had a quite look at my own homelab setup docker container wise. I quickly realized that quite a few of my services run a socat image in between. This is mostly because I have a docker network exposed directly to my wireguard vpn, complete with automatic dns entries to them. And of course a good chunk of the docker images of services have their web interface on a port other than 80, so I would run a socat image next to it just as a dumb proxy.
Read more →

Plotting RuneScape Grand Exchange prices in Grafana for fun and ingame profit

How and why I wrote a Grafana datasource to browse prices of ingame items of RuneScape
Read more →

Enabling respawn anchors in the overworld for minigames

Explanation on how I ended up enabling respawn anchors in the overworld on our SMP server
Read more →

Mirror gitlab to gitlab and/or github

Brief guide on how to set up mirroring from gitlab to other gitlab instances and github.
Read more →

Using private gitlab repositories in Gitlab CI with golang

In order properly build go software that depends on libraries in private gitlab repositories you’ll have to jump through some hoops. The following instructions are known to work as of 2019-12-14, I’ll try to keep this post updated in the future if needed. Step 1. First of all we’ll want to create a new ssh keypair specifically for this usecase. I personally would startup a quick container for this using docker or podman, but this is also very easy to do on your normal host system.
Read more →

Twoons

Twoons is no longer maintained and source release
Read more →

Tripping Cyril

If you’ve been paying attention to my github page lately you’ll probably have seen me working on a project I called Tripping Cyril. As the description of this suggests it’s a public rewrite of an internal framework I wrote. First of all, this name is totally made up. I suck at coming up with names, when creating a new project on github these days it simply suggests a name and I went with the first suggestion.
Read more →