GavinEke/DockerUsenetStack

โ˜… 0Forks 0GitHub โ†—Compare

README

flowchart TB

    %% =========================================================
    %% INTERNET / CLIENTS
    %% =========================================================

    subgraph Internet["Internet / Clients"]
        PlexClients["๐Ÿ“ฑ ๐Ÿ’ป ๐Ÿ“บ<br/>Plex Clients"]
        SeerrUsers["๐ŸŒ<br/>Seerr Users"]
    end

    Cloudflare["โ˜๏ธ Cloudflare Edge<br/>requests.yourdomain.com"]

    SeerrUsers -->|"HTTPS 443"| Cloudflare


    %% =========================================================
    %% UBUNTU HOST
    %% =========================================================

    subgraph Host["Ubuntu Host"]

        PlexPort["๐Ÿ”“ TCP 32400<br/>Inbound Port"]

        Cloudflared["โ˜๏ธ cloudflared<br/>Host Service"]

        subgraph Docker["Docker Stack"]
            direction TB
            
            Plex["๐ŸŸจ Plex<br/>Media Server"]
            Seerr["โšซ Seerr<br/>Requests UI"]
            Sonarr["๐Ÿ”ต Sonarr<br/>TV Automation"]
            Radarr["๐ŸŸก Radarr<br/>Movie Automation"]
            Prowlarr["๐Ÿ”ท Prowlarr<br/>Indexer Management"]
            NZBGet["๐ŸŸข NZBGet<br/>Download Client"]

            %% API FLOWS
            Seerr --> Sonarr
            Seerr --> Radarr
            Seerr --> Plex

            Sonarr --> NZBGet
            Sonarr --> Plex

            Radarr --> NZBGet
            Radarr --> Plex

            Prowlarr <--> Sonarr
            Prowlarr <--> Radarr
        end

        PlexPort -->|"Plex:32400"| Plex

        Cloudflared -->|"Seerr:5055"| Seerr
    end


    %% =========================================================
    %% EXTERNAL NETWORK FLOWS
    %% =========================================================

    PlexClients -->|"Plex Streaming<br/>TCP 32400"| PlexPort

    Cloudflared -.->|"Outbound Tunnel"| Cloudflare


    %% =========================================================
    %% STYLING
    %% =========================================================

    classDef plex fill:#f3c623,stroke:#222,color:#111;
    classDef seerr fill:#333,stroke:#111,color:#fff;
    classDef arr fill:#dff0d8,stroke:#609b50,color:#111;
    classDef nzb fill:#dff5d8,stroke:#45933f,color:#111;
    classDef cloud fill:#f4a623,stroke:#cc7600,color:#111;
    classDef tunnel fill:#dceeff,stroke:#3478bd,color:#111;
    classDef port fill:#ffe6e6,stroke:#bb4444,color:#111;

    class Plex plex;
    class Seerr seerr;
    class Sonarr,Radarr,Prowlarr arr;
    class NZBGet nzb;
    class Cloudflare cloud;
    class Cloudflared tunnel;
    class PlexPort port;
Loading

Contributors

GavinEke

Issues