Linux
Linux server guides from real setups: Ubuntu and Debian, systemd, firewalls, backups, mail and the gotchas that bite in production.
-
My Hosting Panel's Firewall Kept Wiping Docker's iptables Chains
KeyHelp loads its firewall with iptables-restore and flushes Docker's chains. How to spot it, the quick fix, and the options to make it stick.
Running Docker -
Postfix SNI: "map lookup problem" and TLS Alert 80 — the texthash Fix
Per-domain mail hostnames via Postfix SNI: why smtpd hit TLS alert 80 though postmap worked, the ACL fix for Let's Encrypt keys, and test commands.
Running Linux -
KeyHelp: The Free Plesk Alternative I Moved To (and Its API Traps)
Plesk license expired, panel dead. I moved to KeyHelp: non-interactive install, one client per company, and the API gotchas that cost me hours.
Running Linux -
Reskinning Ghost's Source Theme with Nothing but Code Injection
How my blog got its terminal/neon look on the stock Ghost Source theme: site-wide code injection, theme settings, and the 62.5% rem trap behind tiny text.
Running Linux -
Serving a Static SPA on Apache: .htaccess Fallback, Caching, and the Container Nobody Used
Deep links to a Vite/React SPA 404 on Apache until you add a fallback. Rewrite rules, FallbackResource, cache headers, soft 404s, and what really serves.
Running Linux -
Apache as a Reverse Proxy for Docker Apps (and the Panel Trap)
Put Docker apps behind Apache: ProxyPass, ProxyPreserveHost, X-Forwarded-Proto, WebSockets, localhost-only ports, and why a panel gives you 302/404.
Running Docker -
Running PHP 7.4, 8.3 and 8.4 Side by Side on One Server
One server, three apps, three PHP versions: PHP-FPM per version, one pool per site, a handler per vhost and the right CLI binary for every cron job.
Running Linux -
Plesk License Expired: What Still Works and How I Got Around It
An expired Plesk license blocks the panel and the plesk CLI, but sites and mail keep running. How I restored a mailbox anyway with mailmng-core.
Running Linux -
Rebuilding My Ghost Blog After the Database Was Gone
My Ghost container ran outside the hosting panel, so the panel backup had none of it. How I rebuilt the blog from Markdown sources and what I verified.
Running Docker -
Extracting a Proxmox VMA Backup Without Proxmox
No Proxmox host left, but a vzdump .vma.zst holds the database you need. How I parsed the VMA format in Python and streamed the disk out of it.
Running Linux -
My Server Ran Out and My Backups Were Truncated: What I Learned
A Proxmox host went away for good and the offsite backups turned out to be cut off. What I could recover, what was gone, and the checks I run now.
Running Linux -
PaperMC Download API v3: Why Your "latest" One-Liner Returns 404
The old api.papermc.io v2 "latest" URL returns 404. How to download Paper and Velocity from the fill v3 API with curl, jq and a SHA-256 check.
Running Minecraft -
The Idempotency Bug That Uploaded the Same File 153 Times
A cron job re-ran a side effect every two minutes because its "done" marker was gated on a flaky downstream step. The fix is one line moved up. Here's the pattern.
Running Linux -
Grafana vs Netdata vs Uptime Kuma — I Run All Three, Here's What Each Is Actually For
Honest comparison of Prometheus+Grafana, Netdata and Uptime Kuma — what each one is good at, what it costs you, and why running all three is a reasonable answer.
Running Linux -
Discord Alerts From Your Server Logs — A 100-Line Bot That Beats a Monitoring Stack
Tail a game server log, match crash and freeze patterns, ping a Discord webhook. Includes the noise-control rules that stop it becoming a channel nobody reads.
Running Gameserver -
Docker vs Podman — What's the Difference and Should You Switch?
Docker vs Podman compared — daemon vs daemonless, rootless security, systemd/Quadlet integration, compose support, and when switching is actually worth it.
Running Docker -
Monitoring a Game Server Over WireGuard — Prometheus Without Exposing a Single Port
Scrape node_exporter across a WireGuard tunnel so no metrics port is public — plus the pps/bps alert that tells you a DDoS from a player spike.
Running Gameserver -
Tailscale vs WireGuard — Which VPN Should You Actually Run?
Tailscale vs WireGuard compared — Tailscale is built on WireGuard but adds NAT traversal, MagicDNS, ACLs and zero-config mesh. When to pick raw WireGuard instead.
Running Linux -
One Public IP, Many VMs — Port-Splitting a Proxmox Host with nftables
How to route ports 80/443 to one container and 3389/game ports to another VM behind a single public IP on Proxmox — DNAT rules, hairpin, and making it survive a reboot.
Running Linux -
Coolify vs Dokploy vs CapRover — Self-Hosted PaaS Compared (2026)
Coolify vs Dokploy vs CapRover compared — architecture, proxy, git deploys, multi-server, and which self-hosted Heroku alternative to pick for your stack.
Running Docker