pez-docs/workloads/plex/README.md
Pez 8e7269611d Update docs to reflect current setup (March 2026)
- Add Hetzner Cloud location (helsinki-a, nuremberg-a)
- Update london-a to FreeBSD, london-b ZFS layout to 3x raidz1
- Note offline servers (london-c, copenhagen-b)
- Update Plex docs with accurate ZFS and exporter behaviour
- Add workload docs: Nextcloud AIO, Navidrome, slskd, Monitoring,
  Auth (Authelia/LLDAP/Bitwarden), Mail (poste.io), Gaming (Minecraft/MaNGOS)
- Update README/intro with current service and location index
2026-03-04 09:09:08 +00:00

33 lines
1.9 KiB
Markdown

# Plex
## History
My Plex server is what started my homelab. I had two 3 TB drives laying around so I set up a Plex server on a Proxmox host — the hardware that would later become `london-b`. I thought I was being clever by using separate VMs for each function with NFS for central storage, but NFS I/O limitations made themselves known pretty fast whenever I was downloading and streaming simultaneously.
Once I picked up three new 8 TB drives, I scrapped Proxmox and installed directly on bare metal.
## Current Setup
Plex runs natively (not in Docker) on `london-b`. The machine is absurdly overpowered for a media server — Threadripper CPU, 64 GB RAM, and an Nvidia GTX 980 for GPU transcoding. The CPU can transcode plenty fast on its own; the GPU is just there.
### Storage
Storage is a ZFS pool named `hdd` — three RAIDZ1 vdevs with four disks each (12 disks total). Each vdev can tolerate one disk failure, so the pool can survive up to three concurrent disk failures as long as they're spread across different vdevs. Total usable capacity is around 62 TB; raw capacity is 87 TB.
Weekly scrubs run on Sundays to catch any silent corruption.
### The \*arr Stack
Media management runs on the standard `*arr` stack:
- **Radarr** — movie management
- **Sonarr** — TV show management
- **Prowlarr** — tracker/indexer aggregation
For downloads, I use **Transmission**. It's reliable, fast, and handles high concurrency well — easily handles 100+ active torrents without complaint. Previously used Deluge, which was slow, corrupted downloads regularly, and didn't clean up after itself.
**Jellyseer** provides a clean request interface for adding new movies and shows.
### Prometheus Exporter
`prom-plex-exporter` runs as a Docker container and exposes Plex metrics to Prometheus. It connects to Plex via websocket and exits cleanly when the connection closes (expected behavior); Docker's `unless-stopped` restart policy handles reconnection automatically.