Happy New Year, everyone!
Back in February 2024, I posted about some of the cool and fun open-source projects I was working with in my home lab. All of these projects were supporting my journey into self-hosting, and I was building services on top of them. As we ring in 2025, I wanted to talk about some of the fun home lab projects I worked on in the back half of last year.
Aside from the Grafana Stack (which I did not finish implementing because I was focusing on other things…), I’ve had a lot of success with self-hosting open source projects, and I wanted to talk about some of the other projects I’ve been working with this year.
Nutanix Community Edition
I want to start by talking about infrastructure and the platform that I am running my lab on. Last spring, I was testing Dizzion Frame in my lab. Frame, which was previously owned by Nutanix, is a cloud-first EUC solution that can also run in an on-premises Nutanix AHV environment. So I spun up a 1-node Nutanix Community Edition cluster just for Frame.
I really liked it. It was easy to use and had a very intuitive interface. It is a great platform for running EUC workloads.
So after fighting with removing NSX-T and VCD from my home lab over the summer, I decided that it was time to move my lab to another platform. I had been using vSphere in my lab for at least a decade…and it felt like a good time to try something new.
It was also a good time to make a choice because after deciding to move some of my lab to another platform, changes to the vExpert and VMUG Advantage licenses were announced. I had no desire to jump through those hoops.
Migrating off of vSphere is a relevant topic right now, so I wanted to approach this like any customer organization would because I didn’t want to start completely from scratch. I went through a requirements planning exercise, evaluated alternatives including Oracle Enterprise Virtualization, Proxmox, and XCP-NG, and wrote a future state architecture.
I selected Nutanix for my new lab platform for the following reasons:
- Enterprise-grade solution that uses the same code base as the licensed Nutanix products and integrates with Veeam
- Has a tool to migrate from vSphere
- Integrates with multiple EUC products
- Allow me to streamline my lab by reducing my host count and removing the need for external storage for VMs…
Migrating from vSphere to Nutanix was painless. Nutanix Move made the process very simple, even without using the full power of that product.
Like any platform, it’s not perfect. There are a few things I need to work around with Veeam and VMs that sit behind network address translation that are at the bottom of my list. I also need to move away from using Linux virtual appliances that are configured through OVF properties and adopt a more infrastructure-as-code approach to deploying new virtual machines and services. This isn’t a bad thing…it just takes time to get up to speed on Ansible and Terraform.
Maybe I’ll achieve my dream of letting my kids deploy their own Minecraft Servers.
Learning these quirks has been a fun challenge, and I don’t think I’ve had this much fun diving into an infrastructure product in a long time.
You’re probably wondering what hardware I’m using for my CE environment. I have three Dell PowerEdge R630s with dual Intel E5-2630 v3 CPUs, 256 GB of RAM and a PERC HBA 330. This is an all-flash setup with a mix of NVME, SATA, and SAS drives. Each host has the same number, type of drives, and capacity but the SATA drive models vary a bit.
The biggest challenge that I’ve run into is managing disks in Nutanix CE. While CE runs on the same codebase as other Nutanix products, it does do some things differently so it can run on pretty much anything that meets the minimum requirements. CE does not pass through the local storage controller, so there are different processes for adding or replacing disks or using consumer-grade disks.
The mix of SATA SSDs gave me a few challenges when getting the environment set up. I think I need to write a post on this in 2025 because Nutanix CE 2.1 changed things and the community documentation hasn’t quite caught up.
Joplin
Joplin is an open-source multi-platform notetaking app named for composer and pianist Scott Joplin. It’s basically an open-source version of Obsidian or Microsoft OneNote. Like Obsidian, Joplin stores files locally as markdown files. But, unlike Obsidian or OneNote, it has built-in sync capabilities that does not require a 3rd-party cloud service, subscription, or plugin.
Joplin supports a few options for syncing between devices including using Dropbox, OneDrive, S3, and their own self-hosted sync server.
I use Joplin as my main notetaking application. I’m self-hosting a Joplin sync server and using that to sync all of my notes across almost all of my devices. Joplin supports Windows, MacOS, IOS, Android, and Linux.
One feature that Joplin is missing is a web viewer for notes. There is a sidecar container called Joplin-webview that can address this issue, but I haven’t tried it yet.
One feature of the Joplin Sync Server that I like is user management. The Joplin Sync Server has a built-in user management feature that allows an administrator to set quotas and control how user notebooks are shared. Joplin Sync Server does not support OIDC, so it can’t be integrated into any SSO solution today.
I can provide a Google or OneNote alternative to my kids while maintaining privacy, control of my data, and not being tied to a cloud service.
Peppermint
There may be some benefits to running a service desk platform in your home lab. If your family and friends use services hosted out of your home lab (or if you provide other support to them), it can be a great way to keep track of the issues they’re experiencing or the requests they’ve made.
There are some free-tier or freemium cloud service desk solutions, and there are some self-hosted open source help desk systems like Znuny (a fork of OTRS) and RT. In my experience, these options usually aren’t ideal for a home lab. The freemium solutions are too limited to encourage businesses to buy a higher tier, and the open source solutions are too complex.
Last year, I stumbled across an open-source Zendesk or Jira Service Desk alternative called Peppermint. Peppermint is a lightweight, web-based service desk solution that supports email-based ticketing and OIDC for SSO.
It’s basically a 1-person project, and the developer is active on the project’s discord server.
I was planning to use Peppermint for supporting my kid’s Minecraft servers. I wanted to have them open a ticket whenever they had an issue with their servers or wanted to request something new.
While that is great preparation for the workforce, it’s terrible parenting. So I dropped that plan for now, and I’m looking at other ways to use Peppermint like having my monitoring systems create tickets for new issues instead of emailing me when there are problems.
Liquidware CommandCTRL
I wanted to end this post with something that really deserves a much longer blog post – Liquidware CommandCTRL.
CommandCTRL is a SaaS-based Digital Employee Experience (or DeX for short) and remediation solution. I first learned about it at VMworld 2023, and I’ve been using it on several devices in my house.
It should not be confused with Stratusphere UX – Liquidware’s other monitoring and assessment tool. Like Stratusphere, CommandCTRL provides agent-based real-time monitoring of Windows and MacOS endpoints.
There are three things that set CommandCTRL apart from Stratusphere UX. First, as I’ve already mentioned, CommandCTRL is a SaaS-based tool. You do not need to deploy a virtual appliance in your environment to collect data.
Second, CommandCTRL does not provide the detailed sizing and assessment reports that Stratusphere provides. It provides some of the same detailed insights, but it is geared more towards IT support instead of assessment.
Finally, CommandCTRL has a really cool DVR-like function that lets me replay the state of a machine at a given time. This is great when users (or in my home environment, my kids…) report a performance issue after-the-fact. You can pull up their machine and replay the telemetry to see what the issue was.
There are a couple of CommandCTRL features that I haven’t tried yet. It has some RMM-type features like remote control and remote shell to troubleshoot and manage devices remotely without having to bring them into the office.
If you install the CommandCTRL agent on your physical endpoint and a virtual desktop or published app server, you can overlay the local, remote, and session protocol metrics to get a full picture of the user’s experience.
Liquidware provides a free community edition of CommandCTRL to monitor up to five endpoints, which is perfect for home use or providing remote support for family members.
Wrap Up
These are just a few of the tools I’ve been using in my lab, and I recommend checking them out if you’re looking for new things to try out or if one of these projects will help solve a challenge you’re having.