Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Media server

A media server system for hosting

  • Movies
  • TV Shows
  • Audio books

Layout

graph TD
    %% ==========================================
    %% 1. Node Definitions (The "Things")
    %% ==========================================
    User([End User])

    %% -- Ingress/Access Layer --
    HP("Homepage<br/>Dashboard")
    CF{"Cloudflared<br/>Tunnel"}

    %% -- Request/Discovery Layer --
    JS("Jellyseerr<br/>Requests")

    %% -- Management Layer ("The Arrs") --
    Arrs("Media Managers<br/>Sonarr, Radarr, Readarr")
    B("Bazarr<br/>Subtitles")
    Rec(("Recyclarr<br/>Configs"))

    %% -- Download Layer --
    qB["qBittorrent<br/>Downloader"]
    P("Prowlarr +<br/>FlareSolverr")

    %% -- Storage Layer --
    Media[("Shared Volume<br/>${MEDIA_PATH}")]

    %% -- Consumption Layer --
    Players("Media Players<br/>Jellyfin, Audiobookshelf")


    %% ==========================================
    %% 2. Connections & Arrows (The "Flow")
    %% ==========================================

    %% User Access
    User ==>|Internal| HP
    User ==>|External| CF

    %% Access -> Frontend
    CF --> JS
    CF --> Players

    %% Discovery -> Logic
    JS -->|Sends Request| Arrs

    %% Logic -> Configuration
    Rec -.->|Syncs Guides| Arrs

    %% Logic -> Indexing/Downloading
    Arrs -->|Searches| P
    Arrs -->|Pushes Torrent| qB

    %% Post-Processing
    B -->|Scans Media| Arrs

    %% Data Flow to/from Storage
    qB ==>|Writes Data| Media
    Arrs ==>|Renames/Moves| Media
    B -->|Saves Subtitles| Media

    %% Storage to Players
    Media ==>|Streams Data| Players


    %% ==========================================
    %% 3. Professional, Readable Styling
    %% ==========================================
    %% (This section ensures visibility in both Light & Dark modes)

    %% Define Class Styles (Colors and Borders)
    classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px,color:black,rx:5,ry:5;
    classDef user fill:#e1f5fe,stroke:#0277bd,stroke-width:2px,color:#01579b,font-weight:bold;
    classDef access fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px,color:#4a148c;
    classDef manager fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1b5e20;
    classDef download fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#e65100;
    classDef storage fill:#fffde7,stroke:#fbc02d,stroke-width:2px,color:#f57f17;
    classDef consumer fill:#ffebee,stroke:#c62828,stroke-width:2px,color:#b71c1c;

    %% Apply Classes to Nodes
    class User user;
    class HP,CF access;
    class JS,Arrs,B,Rec manager;
    class qB,P download;
    class Media storage;
    class Players consumer;

    %% Thicken all lines for readability
    linkStyle default stroke:#555,stroke-width:1.5px;
    %% Bold key data paths
    linkStyle 1,2,9,10,12 stroke:#333,stroke-width:3px;
Loading

Hardware encondig

The default docker-compose file is made to work with the rockchip VPU, If you want to run any other devices you can look at jellyfin's handy manual

Acknowledgements

This project is based of Morzomb's media server but more streamlined

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors