This is my home page

Thank you for venturing into my corner of The Internet, to read my stories of engineering and technology, and explore the projects I’ve created and am in the process of creating. I primarily focus on home automation, homelab, and virtualization, but also enjoy building and making things. Feel free to browse the blog for regular updates, project pages for long term project descriptions, and my Youtube and Twitch channels for video content and casual relaxation. I hope you enjoy your journey along the way!

Using NETCONSOLE to debug Linux (and Proxmox) Kernel Panics

In this post (and video) I’m going to setup Netconsole, so you can capture kernel panics and logs on headless systems. I know some of you are doing wild things with graphics drivers and passthrough, so hopefully this helps you debug them. Enable Now This option enables the module immediately, so you can use it before you do dangerous things. You Simply rebooting clears the setting, so you won’t continue to spam your kernel messages on the local network.
read more →

Imaging a bare-metal system using Proxmox Backup Client

Since I like to image systems I’m testing, here’s the process I use to capture the boot drive of a bare metal system in Proxmox Backup Server. I start by booting into a Debian Live image (the small one without a GUI). Next, I install Proxmox Backup Client from apt packages: #Run as root sudo bash #Add repo wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg echo "deb http://download.proxmox.com/debian/pbs-client bookworm main" > /etc/apt/sources.list.d/pbs-client.list #Install PBS apt update apt install proxmox-backup-client -y After that, I set the environment variables for the backup client (I have a doc I can copy/paste from into my USB KVM):
read more →

Rebuilding Proxmox Backup Server from Backups

So, while I was on vacation, my Proxmox Backup Server boot drive failed! No problem, I take backups of the server itself …. onto the backup server. So in this video, I’m going to start from a clean PBS install, mount my intact backup pool, and then restore the PBS configs out of the backup. Video Restoring the Datastore First, we need to mount the data disks. In my case, they are a zfs pool named backup, so we use zpool import -f backup to import the pool.
read more →

Simple Self-Hosted Security with Authelia

In this video, I’m setting up Authelia. It’s a very lightweight authentication service, which can be used to provide authentication to services which don’t natively support any form of authentication. I think this is a great choice for small scale homelab environments, as it’s simple to run and administer. Contents Video Authelia Configuration User File TLS Certificate Protected Service Example with Caddy Video Authelia I installed Authelia on an LXC container (Debian 12), and set it up with a dns name / AAAA record in public dns, and all the jazz required for normal HTTPS access.
read more →

Relaying Traffic to Self-Host with CGNAT

This video started as the answer to a simple question - how can I self-host a service for my friends and family, behind cgnat, without requiring them to install any apps (like tunnels)? This video turned into a bunch of different ways to proxy IPv4 to IPv6, so you can receive IPv6 traffic natively and bring in legacy traffic from a VPS which does have public IPv4. While I’m giving you a lot of different examples and methods here, you can mix and match a lot of them to fit your needs.
read more →

Kwumsy H3 Stream Dock USB Protocol

So today I’m taking a look at the Kwumsy H3 ‘Stream Dock’ No, not THAT Stream Deck, not a dock for the Steam Deck, there’s already enough name confusion. Basically, it tries to be a lower cost touchscreen alternative to the real Stream Deck, making use of the same addon format for wide addon support, and also somehow a USB-C laptop dock with Ethernet, USB 3, HDMI, and USB-PD passthrough.
read more →

Proxmox Backup Auto-Shutdown

Today I’m trying to reduce the power consumption of my Proxmox Backup Server. The HP Microserver is great for what I need, but it’s kinda loud and I’m working on optimizing my power bill. The homelab is the largest single consumer of electricity aside from the air conditioning in the summer, so it’s something I’m looking at heavily. Anyway, I thought I could do this purely with systemd sleep / suspend initially.
read more →

UGreen NASync DXP4800 Plus Teardown

I did a full teardown of this unit, see the video below. This page also has the ’extra info’ (pci, cpu, ..) for you. Video Click on the thumbnail to view the video on Youtube Hardware Info All of this was taken via an Debian 12 system (Bookworm / kernel 6.1), so your kernel may be configured slightly differently lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 39 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 6 On-line CPU(s) list: 0-5 Vendor ID: GenuineIntel BIOS Vendor ID: Intel(R) Corporation Model name: Intel(R) Pentium(R) Gold 8505 BIOS Model name: Intel(R) Pentium(R) Gold 8505 To Be Filled By O.
read more →

All About SUBNETTING your Networks! + Setup in OPNsense

You’ve probably heard all about creating multiple VLANs, for things like your IoT network, guest wifi, and more. But do you know what a VLAN actually is, and what the difference is between a VLAN and a Subnet? Today I’m going to cover the numbering of subnets in your network, and how to set up new subnet and VLAN interfaces in OPNsense. Come along on this adventure! Contents Video Subnetes VLANs Video Subnets Starting in the last video, we have a basic network setup with the internet (green cable) and a ‘LAN’ made up of only my laptop (black and yellow cable).
read more →

Proxmox Unprivilaged LXC Container Bind Mount UID/GID Mapping

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.
read more →