Brother Scan to SFTP: Receipts Straight Into a Hetzner Storage Box
A Brother MFC scans receipts via SFTP into a Storage Box sub-account. Port 22 vs 23, RFC4716 keys, reachability and the firmware update that fixed it.
I'm Lukas, a sysadmin in Munich. When something on my servers breaks, I fix it and write down exactly how. Mail, Linux, game servers, the odd 3 a.m. surprise.
A Brother MFC scans receipts via SFTP into a Storage Box sub-account. Port 22 vs 23, RFC4716 keys, reachability and the firmware update that fixed it.
Every note is one slot. Green LED: running. Orange LED: still open.
Moving a forum, WordPress, Nextcloud and mail off a dead Plesk box: pull with ssh -A, test via hosts file, doveadm imapc for mail, then the delta cutover.
Moving 19 domains off a closing reseller account: zone exports, AuthCodes, RDAP lock checks, a stdlib Python script and why an AuthCode is not an unlock.
Fresh Ubuntu 24.04 VPS: IPv6 that cloud-init didn't set, swap, SSH keys only, a provider mail block on port 25, PTR records, then KeyHelp on top.
Gmail got my login codes in seconds, t-online.de refused the server. What Telekom checks, how I filed the unblock request and what the log showed.
Moved WordPress into /new/: fix RewriteBase, find a 500 with curl, set WP_HOME, rewrite links without breaking serialized data, add an admin via SQL.
Let's Encrypt renewed, web and IMAP fine, but SMTP still sent the expired cert. Plesk's Postfix SNI map was stale. How I found it and fixed it.
Backup encryption in my open-source Hytale panel: ChaCha20-Poly1305 streaming, key never on the node, key rotation, old backups still restorable.
Clocks went back tonight. What DST does to cron jobs, systemd timers, logs, databases, backups and game server restarts, and why my servers all run on UTC.
How I moved my Ghost blog and main site to a new domain: 301 per path, Ghost url, canonicals, sitemap, Search Console Change of Address, IndexNow and Bing.
Setting up a brand-new mail domain on a self-hosted panel: DNS records in the right order, DKIM selector, Gmail "show original", alignment, PTR and HELO.
Monthly recurring invoices with InvoicePlane in Docker as valid ZUGFeRD 2.3 EN16931 PDF/A-3 files, checked with Mustang CLI. Patches and gotchas.
My blog logged 140 to 500 hits a day. Real readers: 15 to 61. The four filter rules I use on the access log, plus the small Python script and cron job.
PHP shipped an emergency fix for CVE-2026-109618/109619. How I checked which of my servers were really patched, and why the Docker containers were not.
My game panel died, so my Hytale server runs as a plain systemd service again. Unit file, FIFO console helper, backups and a log-tailing alert bot.
What DMARC aggregate reports are, how to read the XML, the external rua authorization record most people miss, and when to move from p=none to reject.
How I moved a small business mail domain to my own server: imapsync in Docker, delta syncs, MX/SPF/DKIM cutover, and why Outlook ignored my autoconfig.
Scheduled backups stopped in late August and nothing told me. The cleanup, the offsite fix, and a script that alerts when the newest backup is too old.
HP Victus RTX 5050 stuck at 27 W with 99% GPU usage and low FPS. nvidia-smi showed HW Power Braking; an EC reset brought it back to 72 W.
An Odoo automation rule + code server action that mails an internal copy of each confirmed rental, and the use_default_to trap that mails the customer.
Files in a dead server's full backup, the database only in a VM backup on offsite storage. How I found both, matched them and brought the shop back.