Commit 6bf2d5

2026-04-21 12:55:59 Anonymous: base
/dev/null .. streaming service/data flow architecture.md
@@ 0,0 1,78 @@
+ # Data Flow Architecture
+
+ ## Overview
+
+ The media stack operates as a fully automated pipeline:
+
+ Request → Index → Download → Import → Library
+
+ Each stage is handled by a dedicated service to ensure separation of concerns and predictable media handling.
+
+ ---
+
+ ## Flow Steps
+ #### 1. Request (optional)
+
+ Via Jellyseerr → sends to Radarr/Sonarr
+
+ #### 2. Indexing
+
+ Prowlarr syncs indexers:
+
+ ```
+ docker exec -it prowlarr curl http://localhost:9696
+ ```
+ Prowlarr synchronizes indexers to Radarr and Sonarr automatically.
+
+ #### 3. Download
+ Downloads are handled by:
+
+ - qBittorrent
+
+ Radarr/Sonarr send torrents via API using category-based routing:
+
+ - movies
+ - series
+
+ Check active downloads:
+
+ ```
+ docker exec -it qbittorrent qbittorrent-nox
+ ```
+
+ (or via Web UI: http://localhost:8080)
+
+ #### 4. Import validation
+
+ Radarr and Sonarr monitor completed downloads and import them into the correct library structure.
+
+ Radarr/Sonarr scanning:
+ ```
+ docker exec -it radarr ls /data/downloads/movies
+ ```
+ #### 5. Final library check
+ After import, media is stored in the final library locations:
+ ```
+ ls -la /mnt/BonusDisk/JellyfinMedia/Streaming/movies
+ ls -la /mnt/BonusDisk/JellyfinMedia/Streaming/series
+ ```
+ These folders are consumed by the media server (e.g. Jellyfin).
+ ## Debug commands
+ Check container networking
+ ```
+ docker network ls
+ ```
+ Test internal service resolution
+ ```
+ docker exec -it radarr ping sonarr
+ ```
+
+ ## Summary
+
+ This architecture ensures:
+
+ - Fully automated media acquisition
+ - Clear separation between download and library layers
+ - Centralized indexer management via Prowlarr
+ - Deterministic routing through Radarr and Sonarr
+ - Stable storage structure for long-term media hosting
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9