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
09-13-2024
Renovate is used to help manage code dependencies. Checkout a previous post for more details on what Renovate is.
Renovate is able to parse dockerfiles to look for newer container images. This only works with either a sha256 digest or a version tag. Tags such as latest
or some other arbitrary string will not work.
I tested running renovate as a docker container. Credentials can be used with environment variables within the container.
09-02-2024
PostgreSQL is a relational database management system. It is extremely popular as it is open source and scales to billions of rows. Other popular DBMS systems include some that are not open source. There are some open source apps that I use at home that require a database and I am interested in spending more time developing my own software. This post will go over the basics of using a PostgreSQL database. Here are some other database systems that you may have heard of:
07-21-2024
A GPU can be used to run applications that leverage machine learning models as well as the name suggests, graphics applications. In the homelab I will use a GPU to run AI models, transcode media files, and any other application that can leverage GPU hardware acceleration.
Using a GPU in a Kubernetes cluster involves setting up the cluster to recognize and allocate GPU resources to pods that require them.
Prerequisites
First of all, you need a Kubernetes cluster and a computer with a Nvidia GPU that is also joined to the Kubernetes cluster. If you are not familiar with Kubernetes, check out a previous post.
07-21-2024
The openEBS project is simplified, easy to deploy and upgrade, open source, persistent block storage on the Kubernetes platform. If you are not familiar with Kubernetes (k8s), check out a previous post to get started. If you are using Kubernetes in a homelab which is what I focus on in this blog, you may notice that setting up apps that worked well in Docker are much more challenging in Kubernetes. It is very easy to set up static web apps in Kubernetes as the container image includes all the files you need. However there are a ton of open-source apps out there that obviously need some way to persist data, whether you want a simple to-do list or something complex like an app to access your personal documents, music, pictures, videos, etc.
07-14-2024
As the foundation of my homelab takes shape, I’m ready to dive into the world of container orchestration with Kubernetes. In this blog post, I’ll outline my experience deploying software applications using Kubernetes, leveraging open-source projects to manage and access software running in the cluster.
Prerequisites
Network
Before deploying any software, I recommend having a Network setup so that computers can communicate with themselves and systems over the Internet. All Kubernetes related computers need to be connected to the same network.
07-07-2024
Upgrading your Raspberry Pi’s operating system can be a breeze, and with Raspbian Bookworm being the latest and greatest version available, it’s definitely worth considering. To start, make sure you have a stable internet connection and a compatible Raspberry Pi running Raspbian Bullseye. I will be upgrading my Raspberry Pi 3 that serves as my primary DNS server.
Before the upgrade
Before running any upgrade operations, make sure your Pi system is up to date. Run apt
upgrades on the system: