logrotate config that actually works: how to rotate app logs without dropping log lines and without making the app crash on the rename

Your app writes to /var/log/app.log. The disk fills up. You write a quick logrotate config, copy-paste from the first Stack Overflow result, set up a daily rotate. Two months later the disk is fine but you discover the app …

SSH key management for a multi-server fleet: ed25519, ssh-agent, ProxyJump, YubiKey FIDO2, and when agent forwarding is the wrong tool

You manage five servers. Each has a different SSH key in ~/.ssh/authorized_keys from the day you set it up — one’s an old id_rsa from 2018, two have your laptop’s current ed25519 key, one has an ancient ECDSA key from …

A weekly server-health one-shot: a shell script that summarizes disk / memory / failed-units / pending updates and emails it

Analytics dashboard showing line chart trending up and a pie chart of new vs returning visitors — photo by Negative Space on Pexels

You SSH into your server and run the same five commands every Sunday morning: df -h, free -h, systemctl --failed, apt list --upgradable, lastb. Five minutes of looking around to confirm nothing’s quietly broken. Multiply …

Self-hosting a read-it-later inbox: Wallabag on a $5 VPS, with the iOS share-sheet integration that actually works

Hands holding a coffee mug and a smartphone — photo by Mart Production on Pexels

Pocket announced its shutdown in 2025. Instapaper still exists but is third-handed and feels frozen. Reader-by-Readwise is good but it’s a $10/month subscription. The self-hosted answer is Wallabag — PHP+MySQL, runs on a $5 VPS, has clean iOS / Android …