blumeops/docs/reference/services/transmission.md
Erich Blume b460333da0
All checks were successful
Build Container / detect (push) Successful in 2s
Build Container (Nix) / detect (push) Successful in 2s
Build Container (Nix) / build (transmission) (push) Successful in 2s
Build Container / build (transmission) (push) Successful in 6s
Upgrade Transmission to 4.1.1 (#282)
## Summary
- Upgrade Transmission from 4.0.6-r4 to 4.1.1-r1
- Uses Alpine edge community repo for transmission packages, keeping stable alpine:3.22 base
- Fix stale image reference in service doc (was linuxserver, now custom registry image)
- Mark transmission as reviewed in service-versions.yaml

## Context
Service review found Transmission two minor versions behind (4.0.6 → 4.1.1). Alpine 3.22 only packages 4.0.6, so transmission is installed from edge's community repo with an exact version pin.

4.1.0 added improved µTP performance, IPv6/dual-stack UDP tracker, JSON-RPC 2.0 API. 4.1.1 is a bugfix release (20+ fixes).

Dagger test build passed locally.

## Deployment and Testing
- [ ] Build container via Forgejo workflow (`mise run container-build-and-release transmission`)
- [ ] Update kustomization.yaml with new image tag
- [ ] `argocd app set torrent --revision feature/transmission-review && argocd app sync torrent`
- [ ] Verify web UI at https://torrent.ops.eblu.me
- [ ] Check Grafana Transmission dashboard still receives metrics
- [ ] After merge: `argocd app set torrent --revision main && argocd app sync torrent`

## Note
The transmission-exporter sidecar (OOMKilling every ~30min, 294 restarts) is being tracked separately as a future replacement project.

Reviewed-on: #282
2026-03-04 07:44:33 -08:00

1.3 KiB

title modified tags
Transmission 2026-02-07
service
torrent

Transmission

BitTorrent daemon, primarily for downloading ZIM archives for kiwix.

Quick Reference

Property Value
URL https://torrent.ops.eblu.me
Tailscale URL https://torrent.tail8d86e.ts.net
Namespace torrent
Image registry.ops.eblu.me/blumeops/transmission
Storage NFS PVC from [[sifaka

Storage Layout

NFS share on sifaka (/volume1/torrents):

Path Purpose
/downloads/ Active downloads and metadata
/downloads/complete/ Completed downloads
/config/ Transmission configuration
/watch/ Watch directory for .torrent files

kiwix reads from /downloads/complete/ to serve ZIM archives.

Integration with Kiwix

The Kiwix deployment includes a torrent-sync sidecar that:

  1. Reads ZIM torrent list from ConfigMap
  2. Adds missing torrents via RPC
  3. Runs on startup and every 30 minutes

When downloads complete, the zim-watcher CronJob detects new ZIMs and restarts Kiwix.

Monitoring

Basic uptime via blackbox probe in alloy k8s (Services Health dashboard).

Web UI shows: active/seeding/paused counts, speeds, disk usage.

  • kiwix - ZIM archive consumer
  • sifaka - Download storage