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 …

ssh-keyscan + known_hosts + StrictHostKeyChecking: doing it right in a personal-fleet shell script

Brass padlock and matching key on a granite surface — photo by theshantanukr on Pexels

You wrote a deploy script. It SSHes into 12 servers, runs an update, comes home. The first time you run it on a fresh laptop, every server prompts: The authenticity of host ‘203.0.113.x’ can’t be established. Continue connecting (yes/no/[fingerprint])?. …

Self-hosting Vaultwarden on a small VPS: docker-compose, Caddy reverse proxy, and migrating from a paid Bitwarden plan

You’ve been paying $40/year for a Bitwarden family plan, or $36/year for an individual one. The product is excellent — there’s nothing wrong with what they’ve built. But you also have a $5/month VPS that’s already running a couple of …