Leo
Leo
Docs/home server/media automation/overview/architecture diagram

Last updated Jul 1, 2026

Architecture Diagram#

Component Overview#

Media Stack Architecture Diagram

How to read this diagram: The user requests content through Seerr (the request portal). Seerr forwards to Sonarr/Radarr, which query Prowlarr for indexer results and then hand the download to SABnzbd. SABnzbd downloads files to /mnt/downloads, and Sonarr/Radarr import them into the media library on the ZFS pool. Plex reads from that same pool and streams back to the user.

Focal services (thick border) are user-facing. Dashed lines represent external/remote connections. Everything else runs locally on the Proxmox host.

Data Flow#

User
└─► Seerr (request)
    └─► Sonarr / Radarr (pick release, apply quality profile)
        └─► Prowlarr (search indexers)
            └─► SABnzbd (download + unpack to /mnt/downloads)
                └─► Sonarr / Radarr (import → /mnt/media/tv or /mnt/media/movies)
                    └─► Plex (detects new file, scans library, ready to stream)

Storage Paths#

PathUsed byDescription
/mnt/media/moviesRadarr, PlexFinal movie library
/mnt/media/tvSonarr, PlexFinal TV show library
/mnt/downloadsSABnzbd, Sonarr, RadarrDownload staging area

All three paths come from the same ZFS pool. Sonarr and Radarr see both /mnt/downloads and /mnt/media — this allows them to move files (instant rename) during import instead of copying across filesystems.

VM and LXC IDs#

IDTypeService
lxc/103LXCPlex Media Server
lxc/104LXCn8n
qemu/102VMDocker host — Sonarr, Radarr, SABnzbd, Seerr
node/proxmoxHostProxmox VE node

Network#

All Docker containers run on a shared internal network (media_net). They communicate by container name, not by port or IP. The only ports exposed to the LAN are the web UIs of each service.

ServiceLAN Port
Plex32400
Seerr5055
Sonarr8989
Radarr7878
Prowlarr9696
SABnzbd8080

None of these are exposed to the internet by default. Remote access to Plex is handled by Plex's own relay service.