Notes on things I've built: what worked, what didn't, and why.
· 9 min read
An audit of a 2014 Jellyfin server: hidden libraries, trickplay failing on read-only drives, VA-API on Haswell with measured numbers, and 1.2 TB back from ext4.
jellyfin · self-hosting · transcoding · docker · linux
· 4 min read
Every party in a home server's HTTPS: DNS, the router, Caddy, Let's Encrypt, ACM and Roles Anywhere, and the DNS quirk that stopped a certificate.
https · certificates · lets-encrypt · dns · caddy · aws · self-hosting
· 5 min read
Moving home Jellyfin to HTTPS with Caddy and Let's Encrypt, why a dynamic DNS CNAME broke the certificate, and the A record that fixed it.
jellyfin · caddy · https · lets-encrypt · dns · aws · terraform · self-hosting
· 3 min read
How this site deploys to S3 and CloudFront with GitHub's OIDC provider instead of stored AWS keys, in Terraform, and why the role's permissions matter more.
aws · github-actions · iam · terraform · security
· 4 min read
Replacing a Raspberry Pi's AWS access key with IAM Roles Anywhere: a private CA, one-hour credentials, and the signing helper on 32-bit Pi OS.
aws · iam · raspberry-pi · s3 · iot · terraform · security
· 4 min read
What the padlock promises, what a certificate is, SSL vs TLS, who vouches for a website, and why certificates expire, in plain language.
https · certificates · security
· 5 min read
Why a movie plays perfectly on one device and buffers on another: direct play, direct stream and transcoding in Plex and Jellyfin, in plain language.
plex · jellyfin · transcoding · self-hosting
· 4 min read
A Raspberry Pi 3 and Camera Module 3 photograph the same view every three hours, upload to S3 with boto3, and a Lambda-backed gallery shows them.
raspberry-pi · aws · s3 · lambda · python · iot
· 4 min read
Plex started charging for remote streaming, so I moved my media server to Jellyfin in Docker: the Compose file, a systemd unit and what's still missing.
jellyfin · plex · docker · linux · self-hosting