You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-2Lines changed: 26 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ There are dozens of *arr stack Docker Compose repos on GitHub. Almost all of the
37
37
-**Auto-wires keys.** The configure script also writes Radarr/Sonarr API keys into Recyclarr and Unpackerr automatically.
38
38
-**Built for macOS.** Native paths, launchd instead of systemd, OrbStack or Docker Desktop instead of bare Docker. Not a Linux guide with "should work on Mac" in the footnotes.
39
39
-**Self-healing.** Hourly health checks, download watchdog, VPN failover between providers. Runs unattended.
40
-
-**Quality automation.** TRaSH Guides profiles filter out bad releases. Kometa keeps Plex metadata clean. Tdarr saves disk space with automatic transcoding.
40
+
-**Quality automation.** TRaSH Guides profiles filter out bad releases. Kometa keeps Plex metadata clean. Tdarr runs native-first on macOS with a quality-preserving flow preset.
41
41
42
42
New to self-hosted media? Start with the [basic version](https://github.com/liamvibecodes/mac-media-stack) first.
43
43
@@ -47,7 +47,7 @@ New to self-hosted media? Start with the [basic version](https://github.com/liam
47
47
48
48
| Service | What It Does |
49
49
|---------|-------------|
50
-
|**Tdarr**|Automatic transcoding (convert codecs, save disk space)|
50
+
|**Tdarr**|Native-first transcoding on macOS with quality-preserving HEVC flow preset|
51
51
|**Recyclarr**| TRaSH Guides quality profiles (penalizes bad release groups, scene releases) |
- Default is `TDARR_MODE=native` (recommended on macOS).
132
+
- Native Tdarr is installed and managed by `scripts/setup-tdarr-native.sh` (launchd server + node).
133
+
- Docker Tdarr remains available via `TDARR_MODE=docker` and `--profile tdarr-docker`.
134
+
- The stack preloads this Tdarr flow preset: `Quality-First HEVC (Resolution Preserving)`.
135
+
- No resolution downscale
136
+
- No hard bitrate cap
137
+
- H.264 -> H.265 (CRF 19, preset slow)
138
+
- Replace only when output size ratio stays within 25-99%
139
+
129
140
### Download Watchdog Configuration
130
141
131
142
The download watchdog reads qBittorrent credentials and behavior settings from environment variables or automatically detects them from your config files. Optional environment variables:
@@ -153,6 +164,12 @@ Optional flags when running from a local clone:
It will prompt you for VPN keys, configure all core services, auto-wire Recyclarr + Unpackerr API keys, and install automation jobs. You'll still need to do Step 7 for Kometa/Tdarr manual setup afterward.
17
+
It will prompt you for VPN keys, configure all core services, auto-wire Recyclarr + Unpackerr API keys, install native Tdarr on macOS, preload the quality-first Tdarr flow, and install automation jobs. You'll still need Step 7 for Kometa and final Tdarr library mapping.
18
18
19
19
To run from a local clone with custom paths:
20
20
@@ -82,6 +82,11 @@ This stack supports two media servers. Choose one:
82
82
83
83
To use Jellyfin, pass `--jellyfin` to the bootstrap command, or set `MEDIA_SERVER=jellyfin` in your `.env` file.
84
84
85
+
### Tdarr Mode
86
+
87
+
`TDARR_MODE=native` is the default and recommended on macOS (more reliable for hardware decode/encode behavior and avoids Docker VM overhead).
88
+
If you prefer containerized Tdarr, set `TDARR_MODE=docker` in `.env` or use `--tdarr-docker` with `bootstrap.sh`.
89
+
85
90
---
86
91
87
92
## Step 2: Download and Setup
@@ -130,6 +135,18 @@ If using Jellyfin, start with the profile enabled:
130
135
docker compose --profile jellyfin up -d
131
136
```
132
137
138
+
If using Docker Tdarr (`TDARR_MODE=docker`), also enable the Tdarr profile:
139
+
140
+
```bash
141
+
docker compose --profile tdarr-docker up -d
142
+
```
143
+
144
+
If using native Tdarr (`TDARR_MODE=native`, default), run:
145
+
146
+
```bash
147
+
bash scripts/setup-tdarr-native.sh
148
+
```
149
+
133
150
Wait for all containers to show OK. First pull takes 3-5 GB.
0 commit comments