Archives
All the articles I've archived.
-
Hello World Again!
Finally, I have a blog set up! This is the first post ever.
-
Restart Unhealthy Docker Containers Automatically
A helpful way to automatically restart unhealthy containers
-
Systemd Remounting Service
In systemd, you can create an remount unit to ensure share stay mounted. This would work +perfectly, except, LXC does not support this systemd unit. So instead I created a service that runs a script, and a timer to trigger it. Like a cron, but still using systemd.
-
Creating QR Codes for WiFi
Here's an easy way to create a QR code image you can print out and display so people can quickly join your WiFi network. In Debian, install qrencode.
-
Running SQL Server using Docker Compose
A quick way to run SQL Server in a container
-
Docker Prune Cron Job
This is a helpful way to keep your containers from running out of space. Create a auto-prune cron job and put it in etc/cron.daily.
-
Configuring Traefik to work over Tailscale
This is a bit of an extention to this tailscale blog post. I would start there to get an idea of setting up tags and auth, as well as just information about exactly what this does in more detail.
-
Using curl with SNI
This is a short little reminder for myself, when using curl to make requests to local things and spoofing SNI, use the following command.
-
Adding a Figurine Login Message
I saw a very interesting video by Alex Kretzschmar about how to add a nice colorful login banner using Figurine that displays the hostname. I thought this would be helpful when working with several SSH sessions, so I added it to my hosts.
-
Troubleshooting LXC Boot Hang
-
Using Prune to Manage Archives
A quick look at a nifty tool that lets you prune backup files
-
Bitwarden Automated Backup
A detailed backup process for Bitwarden enabling local, encrypted vault backups. The process uses the Bitwarden CLI and runs locally on a linux instance.
-
Configuring Postfix with Gmail
Email is often a critical component notification for jobs and other things in linux. This is how I set up [Postfix](https://www.postfix.org/) on most of my instances. This guide is geared towards Debian based distros but can be translated for others.
-
Installing Debian on Dell Wyse 3040
Recently picked up a very low power Dell Wyse 3040 to use as a headless docker host. It is powered by a quad-core Intel Atom Z8350 so not a lot of horsepower. It runs like a x64 Raspberry Pi. Installing Debian had some complications so I wanted to document them here.
-
Show IP on TTY Login Prompt
When I first log into a linux instance I've set up, I often look to find the ethernet adapter details. To make this easier, I like to add the IP address to the TTY login screen. This is a nice thing to do for future me troubleshooting a networking problem.
-
Backing up a Raspberry Pi Live
In a effort to keep all my devices backed up, I have been looking into a way to backup my Raspberry Pi devices.
-
Mounting a SMB Share at Boot
Very frequently I need to mount SMB2 or SMB3 shares inside of my linux devices. To do so I usually use fstab.
-
Git Credential Caching
Having a local git repo configured, I haven't yet set up ssh authentication. Instead I use HTTPS with a username and password. It can be tiresome typing in the login credentials over and over, so I typically cache the credentials with a reasonable timeout.
-
Reaching Quorum in Proxmox with an External QDevice
Having only two nodes in my Proxmox cluster, I wanted to add a third external device to keep quorum during reboots or other outages. To do so I added an external qdevice as a node which works as a voting only member of the cluster. The qdevice has to be debian based, so I set mine up on a raspberry pi.
-
Autostarting Uctronics Raspberry Pi OLED Display
This is a quick setup for both the Uctronics display code, and the startup service. I will also give an example using rc.local.
-
Configuring Home Assistant for Reverse Proxy
This is a quick reminder for the code that needs to be added to the Home Assistant configuration YAML to get things working with a reverse proxy.
-
LXC: Installing Docker on a Debian CT
A quick guide to getting docker running on a Debian CT. Everything in this guide can be completed quickly by running this curl/sudo-bash script from my gist.
-
LXC: Setting up Plex
After setting up a new server, I wanted to migrate my plex install to the more powerful machine. This will be a jump from an i3-2100 to an i5-12500T. A substantial leap in performance.
-
Pi-hole setup with High Availablity
This is a step by step guide to set up Pi-hole in a high availability environment. Previously I was using a lone Raspberry Pi 3B to run Pi-hole. The issue with this setup was, if that pi went down, DNS was down on my network, which is definitely unacceptable. So let make it better!
-
LXC: First commands on a new Debian CT
A list of the first commands I run on a new Debian LXC to homogenize and secure my new environment.
-
Start a SPA and it's API in one click
I've been using start or jump scripts for a long time to start up my API and SPA at the same time. With project TYE on the horizon, I thought I would share more about my more simplistic, "poor mans", implementation.
-
ASP.Net Core Host Initial Setup
I wanted to document some important steps I take setting up a new server for hosting ASP.Net Core apps. These steps change over time as versions and features change, but this post will serve as a good, general guide for things to consider and remember; both for myself and anyone else who stumbles across it!
-
Creating a super Outlook SPAM Rule
After signing up for several virtual conferences in 2020, I noticed my work inbox was becoming inundated with junk email. Now this being my work email, I don't use it for any personal correspondence, and frankly never respond to anyone outside of my work's domain. Using Outlook online's email rules, I was able to eliminate all SPAM from my inbox in one easy move.
-
Adding build versions in Angular
Have you ever found yourself wondering which version of an SPA is running when you pull up your site? This was a problem I wanted to answer in my Angular SPA. Utilizing the `npm version` command in my build pipeline, I was able to include my pipeline build number in my app, significantly decreased troubleshooting time and version confusion.
-
Hello World
Finally, I have a blog set up! This is the first post ever.