|
Happy Friday! I don’t know about you, but I’m always on the lookout for more services to try out in my home lab. I regularly check out https://github.com/awesome-selfhosted/awesome-selfhosted and https://www.reddit.com/r/selfhosted/ to see what looks interesting. This past week I was wanting to host something similar to Airtable and found that there were a few decent looking options including Baserow, Grist, and NocoDB. Being a lazy man, the natural question came up: How can I try each of these out to see which one I like before I spend time setting up the deployments? So I did what any sensible person would do. I built a tool. The ultimate toolI actually decided to combine that problem with the problem of finding new services into a singular tool. It pulls down the awesome-selfhosted repo and travels the git history to build out a timeline of every service ever added to it along with the details of each. With my infinite creativity I named it I can simply run If I want details about any of them I can run That helps me keep on top of what new services are coming out. But then there is the matter of actually getting them up and running. For that, I decided that running them as Kubernetes services would be the easiest. It might seem overkill, but since I already have a mature K8s setup, I can simply run Thankfully, it is 2026 and we have the technology. I’ve created a It usually takes a few minutes since local LLMs are pretty slow. Using OpenRouter or OpenCode Go or similar would be much faster. But there is something cool about having it entirely run on your own hardware (at least that is how I cope). And so far it has been flawless. The agent has correctly determined the correct images and environment variables, has generated throwaway secrets and credentials, the right storage paths, and followed my requirements so I can very quickly test out a given tool. As it happens, I found Grist to be the winner for my needs. With the manifest it generated, I just took it and used it as the foundation to chuck into my GitOps repo and tweak the config as I desired. But 95+% of the work was done for me. I’ve already used this to add a few more services to my stack as it has become so trivial to do so. TakeawaysThis might have been a bit of a tease, since I don’t have this up on GitHub at the moment as it is currently built for my exact setup. But that is the beauty of these coding agents. If you like any of the ideas of this tool, you can take inspiration and quickly build out your own tool that meets your exact needs for your environment. Here is roughly how I thought about the problems before working on it:
It is a fun little project. If you find yourself with a spare afternoon it is worth building your own tool like this. Though as I’ve been writing this I’ve been filled with ideas for how I can make – Logan / Terminal Velocity |
Automation should feel like cheating. Join me for fast, practical tips that turn your terminal into a superpower.
Happy Friday! Recently I’ve been encountering a frustrating scenario where my coding agents get a bit too enthusiastic and write some integration test logic that ends up in an infinite loop, consuming all of my system resources, crashing my desktop, and ultimately freezing the machine. Ahh, technology! I looked to my toolkit to see what the simplest way to prevent this would be, without having to overly complicate my setup. I knew systemd has a bunch of isolation utilities, so I figured it...
I’m not sure how long these alliterative titles are going to work. Happy Friday! If you are a regular user of git, you’ll know that the default git diff experience leaves much to be desired. It gets the job done, and it works everywhere, so I can’t really fault it. But we can do better. delta is a plug-and-play tool that instantly makes your git diffs easier to work with. It belongs to the category of tools like bat and exa that take some integral part of your workflows and just adds nice...
Happy Friday! If you’ve seen my Shell Wizardry video, you’ll know I love fzf. But in my excitement to try to use it in as many clever places as possible, I failed to notice the even more useful piece which is the shell integration. Simply add one line to the end of your shell config file and the magic begins (start a new shell to see the effects). # bash eval "$(fzf --bash)" # zsh source <(fzf --zsh) # fish fzf --fish | source Inserting files/directories into commands (ctrl+t) Whenever you’re...