Infrastructure · Security · Software · Endurance
Build. Secure. Endure.
Document everything.
What I build, what breaks, and what I learn fixing it. Projects are the products, topics are the knowledge behind them, and every article says exactly where it belongs.
The knowledge
Topics
The products
Projects
Tracker
A self-hosted life dashboard covering habits, training, nutrition, finance, study and goals in one place, with Garmin sync, OCR scale imports, AI nutrition estimates and a Telegram bot. Built it, shipped it, and use it every day.
The 5N3 Domain
fiventhree.com and everything under it: home page, portfolio, this hub, the tracker and the vault. One design system, one VPS, managed end to end. Live since 30 July 2026.
Vault
A self-hosted password manager at vault.fiventhree.com, running Vaultwarden on the same Postgres as the Tracker, so one nightly backup and one restore test cover both. Live since 3 August 2026.
Media Server
A Proxmox virtualization stack built entirely from decommissioned hardware, running Jellyfin, live IPTV over multicast, ZFS storage and VLAN segmentation. Started because the gym WiFi was too slow; became the project that taught me infrastructure.
Latest project updates
All activityWidening the same tunnel: a directory, a hypervisor console, and a redirect loop that wasn't mine to fix
The WireGuard bridge that reached Jellyfin got two more stops added to it, a hypervisor console and a download manager, plus a small directory page to find them from. Along the way, a routing tool that updates one table but not the other, a bind mount forgotten twice in two days, and a redirect loop that turned out to be somebody else's nginx.
Reaching the media server from anywhere: a WireGuard bridge to the VPS
The media server has no public IP and lives behind a segmented internal network. A WireGuard tunnel, reused rather than duplicated, made it reachable at a real domain. A stale Docker bind mount nearly undid it on the very first deploy.
Four sites, one VPS: how fiventhree.com actually got deployed
The whole domain went live on a single server in one evening. Here is the topology, the order I did things in, and the four things that broke, including the one where three sites returned 404 while the fourth worked perfectly.
The media server that taught me infrastructure
It started because the gym WiFi was too slow to stream anything. One month, one dead SAN and two rebuilds later it had taught me Linux, Docker, ZFS, virtualization, VLANs and multicast, and none of the hardware was ever mine.
Recent articles
See allSix layers behind \"the Wi-Fi in my room isn't working\"
A guest's one-line complaint sits on top of a GPON access platform tracking per-subscriber state across six independent layers. A near-pattern in the service numbering, trusted instead of checked, took a working room down and then explained exactly why.
Chasing wasted pixels: making Konsole behave like a desktop widget
btop looked cramped in a Konsole window, and the obvious suspect was the CPU box itself. A screenshot showed otherwise. Two rows of chrome above the terminal content were doing the damage, and they lived in two completely different settings dialogs.
Widening the same tunnel: a directory, a hypervisor console, and a redirect loop that wasn't mine to fix
The WireGuard bridge that reached Jellyfin got two more stops added to it, a hypervisor console and a download manager, plus a small directory page to find them from. Along the way, a routing tool that updates one table but not the other, a bind mount forgotten twice in two days, and a redirect loop that turned out to be somebody else's nginx.
A Fedora reference, built while moving my daily driver over
The commands worth keeping close after switching a daily-driver laptop to Fedora, from dnf5 and rollbacks to the SELinux and Btrfs gotchas that catch people who assume it behaves like the last distro they used.
Building a personal IT knowledge base that outlives the chat window
I kept solving IT problems and forgetting how. The fix wasn't a smarter AI, it was a separate Markdown repository that holds my own troubleshooting history, with a rule that the AI writes the notes but never becomes the memory.