Playback
Plex runs as the official Synology package and uses the Quadro P2000 for hardware-accelerated transcodes.
A complete rebuild on Synology: GPU transcoding, the modern Arr ecosystem, private torrents, safe media migration, Cloudflare routing and one clean dashboard.
platform: synology-dsm
gpu: quadro-p2000
media:
movies: 172 migrated
tv: 191 migrated
services:
- plex
- seerr
- prowlarr
- radarr
- sonarr
- bazarr
- qbittorrent
status: onlineThe best part of this build is not any single container. It is the clean separation between playback, automation, storage and access.
Plex runs as the official Synology package and uses the Quadro P2000 for hardware-accelerated transcodes.
Radarr, Sonarr, Prowlarr, Bazarr, qBittorrent and Seerr run as a coordinated container stack.
Libraries and downloads share one filesystem, enabling hardlinks instead of wasteful full-file copies.
Admin tools stay on the LAN. Plex and Seerr use named Cloudflare routes with an explicit security trade-off.
The rebuild succeeded because destructive steps came late—after paths, permissions and migration checks were already proven.
DSM, storage, containers, networking, Plex paths and GPU availability were mapped before anything changed.
The Arr stack, Seerr and qBittorrent were deployed together with consistent paths and predictable ports.
172 movie files and 191 TV files were moved only after destination paths were ready, then counts were verified.
The old package and retained metadata were removed, the official package installed, permissions repaired and scans verified.
User-facing services received named routes, administrative apps stayed on the LAN, and Homepage became the control surface.
Permanent libraries and temporary downloads live under the same filesystem. Radarr and Sonarr can give Plex clean library paths while torrents continue seeding without storing duplicate media.
/volume1/MediaData/
├── library/
│ ├── movies/
│ └── tv/
└── torrents/
├── complete/
└── incomplete/qBittorrent’s default peer port was occupied. Publishing 26881 for TCP and UDP solved the collision without redesigning the stack.
Container-local API requests returned 403 until the Web UI session and host validation were handled correctly. Logs were more useful than repeated guesses.
Plex initially had an ACL entry but could not enumerate the library. Every parent directory needed traverse access, inherited by the media tree.
Both public hostnames currently pass through Cloudflare Access. That works beautifully for browser-based Seerr, but interactive Access login can block native Plex clients—and Cloudflare Tunnel is not designed as a high-bandwidth video relay. For native remote streaming, use a media-appropriate direct or mesh-VPN path.
The finished stack is automated, GPU-accelerated, recoverable and visible from one dashboard—without exposing the administration layer to the public internet.