basic md files for media-manager tutorial. needs to be proof read and humanized
This commit is contained in:
130
tutorials/media-manager/steps/overview.md
Normal file
130
tutorials/media-manager/steps/overview.md
Normal file
@@ -0,0 +1,130 @@
|
||||
# Overview
|
||||
|
||||
This page tells the story of what will happen during the Media Manager setup: a clear, step-by-step timeline of actions, goals, and outcomes. Think of it as the "mission plan" — what we do, why we do it, and what success looks like at each stage.
|
||||
|
||||
---
|
||||
|
||||
## The goal
|
||||
|
||||
We'll transform a single Linux host (example: a Raspberry Pi) into a dependable, mostly-automated media management server that:
|
||||
|
||||
* Downloads TV shows and movies automatically via qBittorrent
|
||||
* Uses the ARR stack (Radarr, Sonarr, Prowlarr, Bazarr) to find and manage media
|
||||
* Organizes and moves completed downloads into a structured media library
|
||||
* Serves your media using Plex Media Server
|
||||
* Runs ARR services in Docker for portability and ease of upgrades
|
||||
|
||||
---
|
||||
|
||||
## High-level architecture
|
||||
|
||||
* **Host OS**: Linux (Raspberry Pi OS / Ubuntu Server)
|
||||
* **Host services**: Docker (engine) + Plex + qBittorrent (native host installs)
|
||||
* **Containerized services** (docker-compose): Radarr, Sonarr, Prowlarr, Bazarr, and any auxiliary containers (e.g., file indexers, notifications)
|
||||
* **Storage layout**: downloaded files land in `/mnt/downloads`; completed and organized media live in `/mnt/media`; service configurations in `/mnt/config`
|
||||
|
||||
---
|
||||
|
||||
## Step-by-step timeline (what will happen)
|
||||
|
||||
Each step below explains the action, the reason, and the expected result.
|
||||
|
||||
### 1) Validate base system
|
||||
|
||||
**Action:** Confirm OS, update packages, set hostname, timezone, and networking.
|
||||
**Why:** Ensures reproducible behavior, correct timestamps, and easier network access.
|
||||
**Result:** A stable host with SSH enabled and a predictable IP/hostname.
|
||||
|
||||
---
|
||||
|
||||
### 2) Prepare and mount storage
|
||||
|
||||
**Action:** Attach external drives (HDD/SSD or network share), create filesystems if needed, and mount them persistently (e.g., `/etc/fstab`). Create top-level folders:
|
||||
|
||||
```
|
||||
/mnt/media
|
||||
/mnt/downloads
|
||||
/mnt/config
|
||||
```
|
||||
|
||||
**Why:** Separates volatile system disk from large media storage and config data; makes backups and maintenance easier.
|
||||
**Result:** Durable storage locations that all services will reference.
|
||||
|
||||
---
|
||||
|
||||
### 3) Install Docker on the host
|
||||
|
||||
**Action:** Install Docker Engine and docker-compose (or use `docker compose` plugin).
|
||||
**Why:** ARR services are containerized for isolation, portability, and simplified updates.
|
||||
**Result:** Host ready to run docker-compose stacks.
|
||||
|
||||
---
|
||||
|
||||
### 4) Install Plex on the host
|
||||
|
||||
**Action:** Install Plex Media Server as a host service (native install or package). Configure initial library paths and remote access as needed.
|
||||
**Why:** Plex performs heavy I/O and benefits from being on the host where hardware acceleration and direct disk access are easier to configure.
|
||||
**Result:** Plex server visible on the network and ready to index `/mnt/media`.
|
||||
|
||||
---
|
||||
|
||||
### 5) Install qBittorrent on the host
|
||||
|
||||
**Action:** Install and configure qBittorrent (preferably `qbittorrent-nox` for headless use). Set download paths to `/mnt/downloads`. Configure a web UI and credentials.
|
||||
**Why:** Torrent client handles downloads; being on the host simplifies mounting and permissions.
|
||||
**Result:** qBittorrent runs as a service, accepting search/download requests from ARR services.
|
||||
|
||||
---
|
||||
|
||||
### 6) Deploy ARR Stack via docker-compose
|
||||
|
||||
**Action:** Create a `docker-compose.yml` to run Radarr, Sonarr, Prowlarr, Bazarr (and optional services like bazarr, jackett if needed). Mount config and media/downloads into containers.
|
||||
**Why:** Containers give predictable runtime environments and make upgrades simple.
|
||||
**Result:** ARR services running and reachable on defined ports (e.g., `:7878` for Radarr, `:8989` for Sonarr).
|
||||
|
||||
---
|
||||
|
||||
### 7) Integrate ARR with qBittorrent and Plex
|
||||
|
||||
**Action:** In Radarr/Sonarr, add qBittorrent as the download client and Plex for library updates. Configure Prowlarr as the indexer aggregator and link it to Sonarr/Radarr.
|
||||
**Why:** This creates an automated chain: indexers → ARR → torrent client → completed move → Plex scan.
|
||||
**Result:** A working automation pipeline where new media requests result in downloaded, organized, and indexed media.
|
||||
|
||||
---
|
||||
|
||||
### 8) Configure media organization and quality profiles
|
||||
|
||||
**Action:** Create library structures (Movies, TV), set naming formats, define quality profiles and root folders in Radarr and Sonarr.
|
||||
**Why:** Ensures consistent file naming, reduces duplicates, and keeps libraries tidy for Plex.
|
||||
**Result:** Downloads are renamed and moved automatically into `/mnt/media/Movies` and `/mnt/media/TV`.
|
||||
|
||||
---
|
||||
|
||||
### 9) Verify and test end-to-end flow
|
||||
|
||||
**Action:** Manually request a test show or movie in Sonarr/Radarr, verify it appears in qBittorrent, completes, is moved, and shows up in Plex.
|
||||
**Why:** Confirms the full automation loop works and surfaces permission or path issues.
|
||||
**Result:** Confirmed working pipeline.
|
||||
|
||||
---
|
||||
|
||||
### 10) Backup, maintenance, and monitoring
|
||||
|
||||
**Action:** Implement config backups (snapshot `/mnt/config`), schedule regular system updates, and optionally add monitoring (Prometheus/Grafana or simple scripts).
|
||||
**Why:** Protects against data loss and keeps services healthy.
|
||||
**Result:** Resilient installation with a recovery plan.
|
||||
|
||||
---
|
||||
|
||||
## Success Criteria — How you’ll know it’s working
|
||||
|
||||
* You can add a movie/show to Radarr/Sonarr and see it downloaded automatically.
|
||||
* Downloaded files are renamed and relocated to `/mnt/media`.
|
||||
* Plex detects new content and makes it available for streaming.
|
||||
* Services restart correctly after a reboot and maintain configuration.
|
||||
|
||||
---
|
||||
|
||||
## Next steps
|
||||
|
||||
Proceed to the **Setup Mount Points** step to prepare storage paths and permissions: `steps/setup-mount-points.md`.
|
||||
Reference in New Issue
Block a user