Rafael Wenzel bio photo

Rafael Wenzel

Lead DevOps Engineer

Twitter Github Stackoverflow

For a while now I am using Kasm every now and then. It is an awesome piece of software that helps with ad-hoc testing of different things. It is also a nice potential for being able to do work without needing your personal workstation or laptop around. If set up properly of course. Recently Kasm updated their software and allowed for creating custom registries, which makes it even easier to create your own workspaces with applications that people might want. Well technically no, it was not recently, they had that for a while. I believe it even was already present in my 1.10 installation that I was running for some time. Yet, at this time they came over with 1.14 which comes with a lot of changes and improvements.

So my plan was to make my own Kasm instance on my homelab server, replacing my hosted 1.10 on Hetzner, ideally make it accessible through the internet. And then most definitely add my own needed workspaces through my own registry. So let’s go.

Starting with the registry

It is supposed to be very easy. Just follow the instructions on their very own Registry Template.

So let’s just do that and follow it to the T. Already in the very first step I found a gotcha. The option to Include all branches moved up a bit, differing from the provided screenshot. I did not see it in the first place so I ignored it and hoped to be able to continue. But the next step, regarding the GitHub Actions, I could not find more than one action, so it clearly was wrong. Looking back I did find the option after all, but it proves that up to date documentation is very important. Although also checking, double checking and even triple checking if you stumble over things is a good advice aswell. So I had to delete the firstly created registry, which takes like 3 confirmation dialogs plus one 2FA code on GitHub.

In the second step it is technically okay that it looks different than in the documentation. The GitHub Actions page does look different. But I guess this is fine, as the documentation does state that it has to look similar, not exactly like displayed. On to the next step.

Editing the config variables was straightforward, comitting too, now waiting for the actions to build to see whether the changes actually take effect. By the way, the registry can be found here. And yes, the action went through, pages got updated, the registry is there.

I never actually used GitHub Pages before, but it is very nice to see how smooth that experience was so far. Also, I did not have to use my local laptop to do this tutorial, so I could have technically done this all on a tablet in my bathtub.

Some thoughts

Of course there are some open questions, and some other things I could improve in this registry.

First, the default Readme file is just a copy of the kasm workspace registry template. I could change this to explain what my registry comes with. For now I don’t need to, but in the future this should be done.

Second, this might also apply to further customization of the registry page. It does look plain and simple. Which, in and of itself is not a big issue. But looking at the other official third party registry by linuxserver, they did customization of the entry page which looks nice and dandy. It’s not a big concern, but I do have further plans of adding specific workspaces that are not available in the other registries.

Now in a next post, let’s see how to create my own workspace.