Archive

All blog posts

A collection of notes, guides, and project write-ups.

Back to home

Setting up NTP sync on Debian with systemd-timesyncd

2 min.

A quick guide to enable and start NTP time synchronization on Debian using systemd-timesyncd and timedatectl.

debianlinuxntpsystemd

Keep Docker container logs from filling your disk

2 min.

A quick fix to prevent Docker json-file logs from growing out of control, based on my self-hosted GitLab hitting a 55 GiB log file.

dockergitlabself-hostedlogging

Mounting a fresh data disk on a Linux VM

3 min.

The exact steps to partition, format, mount and persist a newly attached block device inside a Linux virtual machine.

linuxstoragevmdebian

Setting up GitLab Runner to build Docker images

3 min.

How I set up GitLab Runner to build and push images to the GitLab Container Registry using Docker-in-Docker.

gitlabgitlab-runnerdockerci-cd

Setting up Plex in an Unprivileged LXC Container on Proxmox 8.4 with Hardware Encoding

3 min.

A step-by-step guide to running Plex in an unprivileged LXC container on Proxmox 8.4 with Intel Quick Sync hardware encoding.

plexproxmoxlxchardware-transcoding

EdgeRouter manual port forward with hairpin NAT

2 min.

This blog post will describe how to manually port forward with hairpin NAT on an EdgeRouter X.

edgerouternetworkingnatport-forwarding

Running GitLab Pages behind a HTTPS reverse proxy

3 min.

How to run GitLab Pages behind a HTTPS reverse proxy (Caddy) without a secondary IP address.

gitlabcaddyreverse-proxyhttps

Automating Expo App Builds and Submissions with GitLab CI/CD

8 min.

Learn how to automate your Expo React Native app builds and submissions with awesome GitLab CI/CD jobs!

exporeact-nativegitlabci-cd

Wireguard Site to Site VPN using Debian 11 & EdgeRouter X

4 min.

This blog post will describe the struggle I went through to set up a Site to Site VPN using two Debian VMs and Edge Routers, so you don't have to.

wireguardedgeroutervpnsite-to-sitenetworking