How to set up a single-node object storage for your homelab
Build your own S3-compatible storage with Garage, a lightweight, distributed storage solution delivered as a single binary that’s ideal for homelab deployments.
Useful notes from the archive.
Build your own S3-compatible storage with Garage, a lightweight, distributed storage solution delivered as a single binary that’s ideal for homelab deployments.
Create a single-node k0s Kubernetes instance. k0s is a lightweight, self-contained distribution packaged as a single binary with no external dependencies, making it straightforward to run a fully functional cluster on a single machine.
Upgrade Debian Bookworm to Trixie.
To generate recovery data for your files using PAR2, you are essentially creating a Reed-Solomon matrix which is a mathematical construct that encodes your original data with redundancy, allowing for the reconstruction of missing or corrupted information.
Automate APT logging with JSON using hooks.
Last year, I described how to install Ingress-Nginx Controller, but at home, I prefer to configure the Ingress-NGINX Controller without a load balancer in Kubernetes.
Utilize SOPS with Age encryption to protect secrets inside git repository.
Install Ingress-Nginx Controller and MetalLB load-balancer.
Configure Consul Access Control Lists.
Funny netcat issue with additional X characters sent over UDP protocol and why this is not a problem.
Protect the operating system against accidental shutdown or reboot.
I have already described how to inspect a pipeline, but today I will show you how to write a shell script that will help you reconstruct a whole pipeline when all you got is a process ID that is part of the pipeline.
These are easy mistakes to make as the bash builtin read command will terminate with the error exit code on the end-of-file condition and use Internal Field Separator to split the line into words. It is kind of tricky, but it is worth knowing how to deal with such problems.
Learn how to free dirty objects, page cache, and reclaimable slab objects for troubleshooting or instructional purposes.
Perform simple incremental backup using rdiff-backup utility.
Set up a simple Docker registry to use it privately or share images with a team of developers.
The free utility is used to display the amount of free and used memory in the system. Debian Stretch provides an upgraded package. The output format has changed, and available memory is calculated using a different method, so let’s see what we can do with these modifications at this moment.
You can check my earlier blog post on how to mount WebDAV share using command-line or fstab (file systems table), but you are not limited to these two options as you can use systemd to take care of the whole process and automount WebDAV resource on demand.
This blog post is an update to the earlier PostgreSQL entries in which I will show you how to use continuous Write Ahead Log archiving to take advantage of the point-in-time recovery.
I had an unexpected incident last week as one of the hard disks in my server failed. This device was a part of a software RAID mirror, which created an opportunity to describe the whole process.
I often want to save a recently executed command to the personal log file for further reference, so let’s do it.
SSH port forwarding is a nice feature that allows you to create encrypted tunnels over an unsecured network. It is easy and straightforward to remember and use in daily work so I will describe it here with couple of examples.