AJ's Blog
This is a personal blog focused on computer software and hardware. Most
projects are implementing software and hardware for a homelab. What is a
homelab? I would say a homelab could be a single computer or dozens of
computers connected in a network. You can also integrate with computers
in the Cloud.
Continue reading...
Recent Posts
10-18-2025
One of the most useful systems to set up in a homelab is shared storage. Making storage available over the network makes it easier to share files and make system backups. I have tried various setups for shared storage in my homelab and my latest iteration is setting up the same system I have in the past.
Why use a VM for a NAS? Well I am writing this post today because the SSD failed that had the proxmox installation and the virtual disk for my previous NAS VM. This is not really an issue since I am the only user and I can rebuild it with the few steps in this post. The important thing is if the actual data drives are intact and I am leveraging ZFS which is a filesystem with some unique features including mirroring data from one drive to another and taking snapshots of the entire filesystem.
10-17-2025
Ubuntu 24.04 was released in 2024 and is a long term support server Linux distribution. We can reasonably expect the publishers of Ubuntu to maintain free security and kernel updates for Ubuntu until 2029. They offer paid support for extended patches past the end-of-life date for a release. For more details, check the Ubuntu website for the current release schedules.
Ubuntu Linux distribution is a good choice for using as a base template for virtual machines. If you are not familiar with creating virtual machine templates for Proxmox, check out a previous post that is more focused on getting started. In most large Enterprise organizations you will find Ubuntu or Red Hat Linux so it is good to practice with one of those.
10-15-2025
If you’ve never used Terraform before, think of it as infrastructure as code. A way to define cloud resources (like servers, storage, and networks) in configuration files instead of clicking through a web console. Once you define your infrastructure, Terraform can automatically create, update, and destroy those resources in a predictable, repeatable way. Check out a a previous post for more of a general introduction to using Terraform.
Terraform works by using providers, which are plugins that let it talk to different platforms such as AWS, Azure, Google Cloud, or even on-prem tools like VMware. In this post, we’ll focus on AWS to show a practical example of defining some foundational resources.
10-12-2025
I have tried many tools to manage containers. I keep coming back to Docker for the user experience. If you are not familiar with containers or Docker, check out a post for an introduction. While most containers in my homelab are now in Kubernetes, I still manage some containers with Docker compose. My DNS servers are 2 Raspberry Pi with a VM as 3rd DNS server. They also have reverse proxy servers deployed as containers (like nginx, caddy, etc.). So I built a workflow to manage those as containers. I do not want these DNS servers to be part of the k8s cluster and I want them to be able to start up without having dependencies on an external system. I want to have a functioning network if there is 1 DNS server online or all 3 are online. I am using Adguard Home to manage DNS queries in my Homelab.
10-05-2025
Blog Theme
It has been a long time since I posted about how this website (blog) is built. This blog is a static site generated with a tool called Hugo (written in golang). In the last post about the blog itself, I moved the theme of the site to one that I created myself and published to GitHub. I made some updates to the theme in 2025 mainly fixing CSS issues. Turns out I wrote a bunch of styles for code blocks but never actually loaded those into the site. This was something that I had an AI coding agent help with. I used Cursor and Gemini CLI to modify the theme of my site. An unexpected method I used to fix the CSS issue was pasting a screenshot of Chrome dev tools into the Gemini CLI.
10-03-2025
The Raspberry Pi Foundation has just released a major update to Raspberry Pi OS, now based on Debian “trixie.” If you’re running the previous version (based on Debian “bookworm”), you might be wondering whether to upgrade your existing setup or start fresh. Here’s everything you need to know to make an informed decision. I am upgrading my old Pi 3 since the others I have are using Ubuntu. I still have this Pi for apps that work on 32bit arm CPU architecture.