Caching Linux Package Repositories
Today I’m setting up a simple nginx proxy, so I can store updates used by my many Linux systems. Most of them run a derivative of Debian, so this guide focuses mostly on caching apt repositories (Debian, Ubuntu, Proxmox, and more), but the same approach should work with any distro.
Install nginx I’m using a Debian 12 (Bookworm) unprivilaged LXC container, but this is basic nginx which should be in every distro ever.
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.
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.
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.
Unleash your Home Cameras with FRIGATE Self-Hosted AI Video Recorder! Install on Proxmox LXC
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.
A $9 Introduction to the RISC-V Future of Computing
Is RISC-V the future of computing? I sure hope so. So I tracked down one of the cheapest Linux-capable SBCs that supports this architecture, the Milk-V Duo. For a retail price of $9, this little guy offers a RV64 Linux environment complete with busybox, Ethernet, and a wide assortment of IO rivaling some microcontrollers. Today I’m going to steup the board and start learning about RISC-V computing!
Fundamentally, the RISC-V architecture is a document which describes the binary machine lanuage of a 32, 64, or 128 bit processor with integer and optional floating point support, but it’s also symbolic of the shift to open computing for the future, and as a computer engineer I’m excited to learn more about it.
REALLY Persistent Ethernet Interfaces on Linux
So Linux has adopted Persistent Device Naming, which is a really great thing for most systems. Unlike the old days where we just had eth0 and eth1 and eth2 etc (which at least has no spaces unlike Local Area Connection 6 that another OS uses), whose order depended on driver initialization in the kernel. Most people just had eth0 and were happy, and most people will still just have one Ethernet interface and will still be happy.
Mellanox NICs with VLAN-Aware Bridges on Linux
A Discord member of mine came to me with an interesting problem - enbling the VLAN-aware bridge in Proxmox would cause all network traffic on the physical card to stop, entirely. Definitely a frustrating issue, especially since the kernel logs made no sense.
The Problem Here’s what he sent from dmesg:
[ 32.732509] mlx5_core 0000:19:00.1: mlx5e_vport_context_update_vlans:179:(pid 13470): netdev vlans list size (4080) > (512) max vport list size, some vlans will be dropped [ 32.
The Bare Minimum Custom Systemd Service
Occasionally, I find myself wanting to start something custom as a systemd service, so it starts at boot. There’s a whole wealth of information on how to properly write systemd services, but I just want the bare minimum to get my command executed on boot and running on its own. Hence, here is the most basic systemd service guide. Feel free to read the systemd docs (systemd.service, systemd.unit, systemd.exec) for more info on what can go in the service file if you want to get fancy.
Raspberry Pi Follow-Up: Backing Up Zigbee2MQTT
After my scare with the Z-wave controller dying due to SD card failure (See the blog post), I decided that my Zigbee network is important enough to back up, especially because a whole lot more important data is stored on disk rather than in the dongle as with Z-wave. I’m going to follow the same path I took in the Z-wave blog, but for Zigbee2MQTT. Since it’s running ‘bare’ on a raspberry pi, I can’t just backup the whole virtual machine.