Homelab is the hobby of building and maintaining your own computer systems for the purpose of experimentation or learning about techniques used in managing larger computer systems. In my case, I enjoy managing network, storage, and virtualixation infrastructure at home and dedicate some of my time to building out my homelab.
This is a snippet of my Personal Server Migration, but I thought it would be more useful as a stand-alone tutorial.
One of the challenges in dealing with unprivilaged LXC containers is that the UIDs/GIDs are mapped to 100000 in the host. This is a security feature, so the root user in the container doesn’t have root access if they are able to escape their container, but it’s also kinda a pain when sharing files between the host and container.
In this project, I explore an all-in-one home server using low cost hardware, bringing together as many common home applications as possible in a single box.
Terramaster NAS as low-cost Proxmox node? Teardown and SW Install! In the first video, I introduce the hardware for this project - a cheap Terramaster NAS! It combines two HDD bays and two NVMe slots in a very tiny and low power brick, with dual 2.
Do you have security cameras at your house? Would you like to locally host all of your recording and analytics, to make sure nobody else has access to your video feeds and recordings? Would you also like to integrate with Home Assistant, the greatest open automation platform in the world? Then Frigate NVR is for you! In this video, I’m going to go in depth to setup Frigate in an LXC container, for maximum efficiency.
Today I’m taking my 10 servers and hopefully working that list down to just 7! JUST SEVEN! So, driven by my desire to consolidate my critical services into one box so I can lab away with the rest of the boxes, I am taking the time to shut down some of the most critical servers in the house and re-home them, then disassemble the parts for the next project.
Come along with me on this adventure!
Contents Video Installation Configure HTTPS Self-Signed Configure HTTPS Let’s Encrypt Video Installation I’m using an LXC container in Proxmox running Debian 12. You’re free to use any other Debian 12 system, and the instructions should still work. It’s not particularly resource intensive, but you can monitor it to see if you need to increase the RAM/CPU allocations. I also added a second mount point to /var/lib/gitea, which is where all of the Gitea data will be stored.
TRUST. It’s what certificates are all about. How do we know that we can trust a server? We verify that the server has a certificate, and that the certificate is signed by someone we trust. That can be a well-known third party like Let’s Encrypt, or our own certificate authority. In this video, I’m going to cover the basics of setting up a root private key and signing certificates using OpenSSL, and running a certificate authority server.
In the last video I introduced Linux Containers, today we’re going to supercharge that by seeing if we can get some graphics hardware into our container, and give our large blu-ray collection a new home. We’re going to cover a few more advanced Proxmox container features, such as privilaged containers, hardware pass-through, and Jellyfin setup and transcoding for Intel and AMD GPUs.
There are always hardware quirks with hardware transcoding, but I’ve worked through it with two examples - a modern Intel Jasper Lake Celeron (which requires the guc/huc firmware), and an AMD Radeon WS3100.
Continuing the series where apalrd teaches proxmox skills through meaningful applications, today we are setting up a proper fileserver on our Proxmox system using Linux Containers. I’ve chosen to use a lightweight Linux Container (LXC) for this, so we can share the host’s ZFS filesystem. To manage shares and users using a web UI, I’m installing Cockpit, as well as some additional modules from 45Drives to deal with Samba. This should provide a pretty easy to use storage interface, keep all of our storage contained in the host Proxmox system without adding another layer of filesystem or a virtual machine, and run well on lower end hardware such as the Terramaster unit I’m using.
Do you have a USB3 2.5Gbe network adapter that doesn’t work well in Linux? Well, the kernel has included the upgraded Realtek drivers for awhile now, but for some reason it needs additional udev rules to load correctly. It’s a pretty simple fix and results in dramatically improved bandwidth (full duplex ~1.5Gbps and half duplex ~1.9Gbps), and functions properly with the correct driver.
tl;dr if you’re on a Debian-based system (including Proxmox) create the udev file below and reboot, and it should work fine.
If you’re building your first home server (or following my Ultimate Home Server series!), the first app I recommend playing with is Home Assistant. Taking control of your home automation with free and open-source software is an excellent way to get out of the cloud-based walled gardens, and self-hosting an app like this is a great way to learn about self-hosting in general without the pressure of hosting something like your firewall.