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

Running LLMs on your hardware

07-04-2024

Large language models are artificial intelligence systems that use complex algorithms to process and analyze vast amounts of text data, allowing them to learn patterns, relationships, and context within language. These models typically consist of multiple layers of interconnected neural networks that are trained on massive datasets of text, often exceeding tens or even hundreds of millions of examples. As the model processes and learns from this input, it develops an ability to generate coherent and natural-sounding text, respond to prompts and questions, and even engage in creative tasks like writing stories or composing music. It is important to note that it does not “think” but will return responses that have the most probability of being correct related to the prompt that you gave it.

Using Caddy as a reverse proxy

06-22-2024

Caddy_logo
Caddy_logo

I will be using Caddy to serve as a reverse proxy for my network. With Caddy, I can manage my proxy configurations in a single file. Caddy is an easy to configure web server and can also function as a reverse proxy. Caddy is free and open-source software.

On a system where I want to securely expose services running on containers, Caddy is easy for me to pick a certificate and then define all of the proxy rules for each container in a single file. I can run Caddy as a container as well making the management of my proxy server easy and lightweight. The configuration syntax is much more simple than nginx which is what I typically use for a proxy server.

renovate

06-21-2024

Renovate is an open-source tool that helps you automate dependency upgrades, vulnerability patching, and security compliance in your software projects. Dependencies can be software libraries like NPM packages for JavaScript or PyPi packages for Python or modules for Terraform or also container images from container registries. If you store your code and Infrastructure as Code in Git repositories, Renovate can help you keep all of your software up to date and open Pull requests automatically.

Fedora 40 Linux setup

06-19-2024

In a vain attempt to fix issues I am having on my Linux laptop, I wiped my drive and installed Fedora 40. I was using Debian 12 since it released but my laptop has issues related to the dedicated AMD GPU. Feel free to skip the summary of my issues as the rest of this post is about setting up Fedora 40.

Issues with Current system

When I attempt to launch an application on the dedicated GPU with the environment variable DRI_PRIME=1, there are graphical artifacts and then the system becomes completely unresponsive until you hold the power button for a reboot. There is also a bug where the HDMI and usb-c ports that are directly connected to the dedicated GPU do not work unless you log out and log back in. I wish I never purchased a system with multiple GPUs even though they are both AMD and should be supported by open-source mesa drivers. Usually people encounter issues with Nvidia GPUs on Linux and folks recommend Intel/AMD for Linux desktops. I also discovered that when I attempt to create a .xz archive with a lot of files, the CPU would overheat to over 95 Celsius and shut down the system. These are some pretty major issues that affect my ability to daily drive the system.

Gitea

06-18-2024

gitea_logo
gitea_logo

Setting Up Gitea in a Docker Container and Securing it with Nginx

Gitea is a lightweight, self-hosted Git service that can be easily deployed in a Docker container. In this post, we’ll go through the process of setting up Gitea in a Docker container and securing it with Nginx as a reverse proxy.

Prerequisites

First, you need to install Docker on your server. If you are not familiar with Docker, check out a previous post to get started and install the required software.

Homelab, 2024 stage 4 Software

06-02-2024

Through 2024 I have been redesigning my homelab. Now that networking, firewalls, and servers are operational, the foundation is in place to start managing software projects within the Homelab.

Critical server software

The most important software in use in my homelab is tied to the “critical” servers. “Critical” servers will run 24/7 so I opt for the lowest power usage devices that I own which in my case is 2 Raspberry Pi devices.