WireGuard site-to-site: connecting Tampere and Helsinki
Two homes, two consumer ISPs, no static IP on either end — solved with a relay peer and a well-tuned keepalive.
Everything on this site falls into one of these. Jump to a section below.
systemd, networking, filesystems, hardening, and the command-line habits that make servers less stressful to run.
Two homes, two consumer ISPs, no static IP on either end — solved with a relay peer and a well-tuned keepalive.
A practical pass through sshd_config — key types, MFA, and the settings that stop scanning bots.
Snapshots, checksums, and the night a bad SATA cable taught me why bit rot isn't theoretical.
A side-by-side approach that let me validate the new ruleset before cutting over for real.
Better logging, dependency handling, and a few rough edges that cron never had.
Running Compose and Podman in production, image builds, and the networking quirks that trip people up.
k3s makes the on-ramp easy, but easy isn't the same as necessary for a one-person homelab.
Five fixes that take an afternoon and remove most of the reasons people distrust Compose at scale.
A walkthrough of the build stages that actually moved the needle, and the ones that didn't.
The three modes you'll actually use, with diagrams instead of just docker network ls output.
What broke, what didn't, and whether it was worth it for a 40-container fleet.
PostgreSQL tuning, Redis and KeyDB, backup strategy, and time-series data with TimescaleDB.
Why tables bloat, why the defaults are too conservative, and the four settings that matter.
Three weeks under the same load. The results were less dramatic than either fanbase would like.
Logical dumps, physical backups, WAL archiving, and where each one actually fits.
Hypertables, compression policies, and retention rules for a dataset that never stops growing.
CSS that holds up, dark mode that isn't an afterthought, and picking static over a CMS.
A component that knows its own width is more useful than a viewport that doesn't.
Contrast, elevation, and the small details that separate a real dark theme from a filter.
A framework for deciding that has nothing to do with which one is more fashionable.