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

Homelab, 2025 plans

01-20-2025

A new calendar year is already underway. My plans for the next year include projects related to what I am working on at my job.

  • I will be reviewing my observability stack and taking a look at OpenTelemetry.
  • I will also be testing some CI/CD tools.
  • I think I will be overhauling my kubernetes environment again. I want something more simple but also maintain the goal of combining the resources of many low-power computers such as Raspberry Pi, Mac Mini, and small form factor desktop PCs.
  • I will be trying to practice more software projects most likely in Python as that is one language with a large library my team maintains at work. I would like to learn some more full stack development with JavaScript or TypeScript. I have seen a lot of applications in my career that use this as a language for the entire application stack or most of it.

Lab infrastructure

At the start of 2025, here is how the structure of my homelab looks:

Homelab, 2024 recap

01-05-2025

Over the past year, I have undertaken several projects aimed at enhancing my homelab:

  • I transitioned containerized applications to Kubernetes, ensuring scalability, reliability, and easier management of my self-hosted services. Or rather that was my goal. Here’s my previous post.

  • I set up home assistant and started exporting data from it. This project has allowed me to collect more data about my house and visualize the data with dashboards.

  • Additionally, I deployed systems to collect weather data from my house, enabling local monitoring and data analysis.

macOS setup late 2024

12-22-2024

I picked up a mac mini with the m4 CPU, 24 GB shared memory, and 512 GB of storage. Even with solar power, especially in the winter, my lab is using too much power. My new goal is to use less power than my plant grow lights. Fortunately, I can measure all of that power usage now and store it in prometheus to query. I run two NAS systems 24/7 and one of them is off the shelf from Synology and it uses between 15-30 watt hours. My “backup” NAS which is a backup but also stores my “warm” backup archives uses between 50 and 75 watt hours. This adds up. The mac mini provides 10 CPU cores that use less power than the AMD 64 bit CPUs in my other systems. The mac mini is using less than 10 watt hours with several services running in memory including Home Assistant. The mac mini will likely replace my “AI Server” which is an old gaming PC. That system uses over 500 watts when the GPU is active which drives up power usage for the whole house. That system also runs containers which I am migrating to the mac mini.

Prometheus run on Kubernetes

12-08-2024

On Kubernetes, you can run a Prometheus server by installing a Helm chart. If you are looking for information about what to do with Prometheus, check out a previous post to get an overview. This chart is maintained by the community and is available to browse on GitHub. There are a lot of options that can be configured with a values YAML file. This chart can also optionally install some other software such as Grafana, a node metrics exporter, and the kube state metrics server.

Image generation in open-webui

11-24-2024

updated: 2025-03-09

After running LLMs locally using Ollama and open-webui, I realized that the project has experimental support for image generation. If you are not familiar with those, check out a previous post to learn more and get started.

I have seen image generation tools online but I never bothered to look into how to do it with a GPU. Fortunately I am late to the party and there are now a lot of tools available to make leveraging the underlying technology easier. At this time open-webui supports a few different image generation tools: AUTOMATIC1111, ComfyUI, and OpenAI DALLĀ·E. Now that last one would not run locally and requires an OpenAI API key and will cost you to use. I believe that AUTOMATIC1111 is easier to work with but ComfyUI is more robust.

apcupsd Grafana Dashboard

11-06-2024

Now that I have started to collect metrics for my APC UPS systems, I built a Grafana dashboard similar to the dashboard I used for Network UPS Tools. Check out a previous post where I got these metrics set up and into Prometheus.

ups_dashboard
ups_dashboard

This dashboard is based on a public Grafana dashboard for the NUT exporter that I used previously. Fortunately most metrics from Network UPS Tools are also available here in the apcupsd exporter.