Transmission and Express VPN in Kubernetes
— By ttyrex
It’s no secret to anyone who’s interacted with me that I’m not a big fan of GAFAM. Like most people, I appreciate the comfort of this “golden cage” — it’s modern, and cloud-based. But in a world where autocratic powers are expanding and technology has become a primary tool for tracking people, we have little choice but to reclaim our data and self-host as much as we can…
My platform of choice is K3s, which makes everything much easier, more structured, and simpler to maintain through Helm. After leaving Google Photos following nearly a decade of use and successfully migrating to Immich — along with many other services — the last piece of the puzzle was BitTorrent.
It’s my tool of choice for downloading Linux ISOs, of course 😉
For obvious privacy reasons, I always run a VPN, especially ExpressVPN. I have no affiliation with them — it simply works the way I need it to. Until very recently, I was running this setup on a dedicated Raspberry Pi, which prevented it from being added as an additional worker node therefore could not host others pods on my cluster.
This weekend, I finally built a custom ExpressVPN image and attached it to Transmission as a sidecar container, ensuring that only the torrent pod’s traffic is routed through the VPN. This works like a charm, and I published my work in a repo in case it helps you too.
GitHub Repository: transmission-expressvpn 🏴☠️

Happy downloading.
^EOF
🤖 Please note that I have used ChatGPT to help with my English in this article. If you come across any words that seem off topic or like a hallucination, please let me know. Thank you.