graph TB
subgraph "External Access"
USER[User/Client]
INTERNET[Internet]
end
subgraph "Docker Network: couch-commander_media-net (172.18.0.0/16)"
subgraph "VPN Layer"
GLUETUN[Gluetun VPN<br/>172.18.0.10<br/>ProtonVPN]
QBT[qBittorrent<br/>Port 8080<br/>Downloads via VPN]
end
subgraph "Media Management (Arr Stack)"
PROWLARR[Prowlarr<br/>172.18.0.20:9696<br/>Indexer Manager]
SONARR[Sonarr<br/>172.18.0.30:8989<br/>TV Shows]
RADARR[Radarr<br/>172.18.0.40:7878<br/>Movies]
end
subgraph "Request & Streaming"
JELLYSEERR[Jellyseerr<br/>172.18.0.50:5055<br/>Media Requests]
end
end
subgraph "Host Network"
PLEX[Plex Media Server<br/>Port 32400<br/>Streaming Service]
end
subgraph "Storage Volumes"
CONFIG[/Config Storage/<br/>/home/joey/couch-commander/config/]
MEDIA[/Media Library/<br/>/volume1/plex-infra/Media/]
DOWNLOADS[/Downloads/<br/>/volume1/plex-infra/Downloads/]
end
%% Network Flow
USER -->|Stream Media| PLEX
USER -->|Request Content| JELLYSEERR
USER -->|Manage| SONARR
USER -->|Manage| RADARR
USER -->|Monitor| QBT
%% Arr Stack Communication
JELLYSEERR -->|Request Movies| RADARR
JELLYSEERR -->|Request TV| SONARR
SONARR -->|Search Indexers| PROWLARR
RADARR -->|Search Indexers| PROWLARR
PROWLARR -->|Find Torrents| INTERNET
%% Download Flow
SONARR -->|Send Torrent| QBT
RADARR -->|Send Torrent| QBT
QBT -.->|Network Container| GLUETUN
GLUETUN -->|Encrypted VPN| INTERNET
%% Storage Access
QBT -->|Write Files| DOWNLOADS
SONARR -->|Organize Files| DOWNLOADS
SONARR -->|Move Files| MEDIA
RADARR -->|Organize Files| DOWNLOADS
RADARR -->|Move Files| MEDIA
PLEX -->|Read Media| MEDIA
%% Config Persistence
SONARR -.->|Persist Config| CONFIG
RADARR -.->|Persist Config| CONFIG
PROWLARR -.->|Persist Config| CONFIG
JELLYSEERR -.->|Persist Config| CONFIG
PLEX -.->|Persist Config| CONFIG
GLUETUN -.->|Persist Config| CONFIG
QBT -.->|Persist Config| CONFIG
%% Styling
classDef vpn fill:#ff6b6b,stroke:#c92a2a,color:#fff
classDef arr fill:#4dabf7,stroke:#1971c2,color:#fff
classDef media fill:#51cf66,stroke:#2f9e44,color:#fff
classDef storage fill:#ffd43b,stroke:#f59f00,color:#000
classDef user fill:#845ef7,stroke:#5f3dc4,color:#fff
class GLUETUN,QBT vpn
class PROWLARR,SONARR,RADARR arr
class PLEX,JELLYSEERR media
class CONFIG,MEDIA,DOWNLOADS storage
class USER,INTERNET user