Skip to content

Commit cfdb7ff

Browse files
committed
Add OrbStack instructions to SETUP.md
1 parent 6560ae8 commit cfdb7ff

1 file changed

Lines changed: 82 additions & 20 deletions

File tree

SETUP.md

Lines changed: 82 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,36 +10,44 @@ A personal media server that automatically finds, downloads, and organizes movie
1010
**Time to complete:** About 20 minutes
1111

1212
---
13+
1314
## Quick Option: One-Command Install
15+
1416
If you already have OrbStack (or Docker Desktop) and Plex installed, you can run a single command that handles everything:
17+
1518
```bash
1619
curl -fsSL https://raw.githubusercontent.com/liamvibecodes/mac-media-stack/main/bootstrap.sh | bash
1720
```
21+
1822
It will prompt you for VPN keys and walk you through the Seerr login. If you'd rather do each step yourself, continue with the manual guide below.
23+
1924
---
25+
2026
## What You Need
27+
2128
- A Mac (any recent macOS)
22-
- [OrbStack](https://orbstack.dev) (recommended) or [Docker Desktop](https://www.docker.com/products/docker-desktop/) installed and running
2329
- An internet connection
2430
- Your VPN keys (two values: a private key and an address)
2531
- A free Plex account (create one at https://plex.tv if you don't have one)
32+
2633
---
27-
## Step 1: Install A Container Runtime
28-
You can use OrbStack (recommended) or Docker Desktop. Both run the same `docker` commands.
34+
35+
## Step 1: Install a Container Runtime
36+
37+
You need a container runtime to run the behind-the-scenes services. Pick one:
2938

3039
### Option A: OrbStack (Recommended)
31-
1. Install OrbStack:
32-
```bash
33-
brew install --cask orbstack
34-
```
35-
2. Open OrbStack from Applications
36-
3. Wait for it to fully start, then run:
40+
41+
OrbStack is faster and lighter than Docker Desktop (~2s startup, ~1GB RAM).
42+
3743
```bash
38-
docker info
44+
brew install orbstack
3945
```
40-
If it prints Docker system information, you're ready.
46+
47+
Or download from https://orbstack.dev. Open it once after installing.
4148

4249
### Option B: Docker Desktop
50+
4351
1. Go to https://www.docker.com/products/docker-desktop/
4452
2. Click "Download for Mac"
4553
- If you have an M-series Mac (M1, M2, M3, M4): choose "Apple Silicon"
@@ -50,9 +58,15 @@ If it prints Docker system information, you're ready.
5058
6. It will ask for your password to install components. Enter it.
5159
7. Wait for it to finish starting (the whale icon in your menu bar will stop animating)
5260
8. In Docker Desktop settings (gear icon), go to "General" and make sure "Start Docker Desktop when you sign in" is checked
61+
62+
Both options use the same `docker` and `docker compose` commands. Everything in this guide works identically with either one.
63+
5364
---
65+
5466
## Step 2: Install Plex
67+
5568
Plex is the app that actually plays your media on your TV, phone, etc.
69+
5670
1. Go to https://www.plex.tv/media-server-downloads/
5771
2. Under "Plex Media Server", choose macOS
5872
3. Open the downloaded file and drag Plex to Applications
@@ -61,59 +75,82 @@ Plex is the app that actually plays your media on your TV, phone, etc.
6175
6. In Plex's menu bar icon, click "Open Plex" to open the web interface
6276
7. Sign in with your Plex account
6377
8. Skip the initial library setup for now (we'll point it at the right folders later)
78+
6479
---
80+
6581
## Step 3: Download This Project
82+
6683
1. Open Terminal (search "Terminal" in Spotlight, or find it in Applications > Utilities)
6784
2. Run these commands one at a time (copy and paste each line, then press Enter):
85+
6886
```bash
6987
cd ~
7088
git clone https://github.com/liamvibecodes/mac-media-stack.git
7189
cd mac-media-stack
7290
```
91+
7392
If you don't have git installed, your Mac will prompt you to install Command Line Tools. Click "Install" and wait, then run the commands again.
93+
7494
---
95+
7596
## Step 4: Run the Setup Script
97+
7698
This creates all the folders and prepares your configuration file.
99+
77100
```bash
78101
bash scripts/setup.sh
79102
```
103+
80104
You should see "Setup complete!" at the end.
105+
81106
---
107+
82108
## Step 5: Add Your VPN Keys
109+
83110
You need two values from your ProtonVPN account: a **WireGuard Private Key** and a **WireGuard Address**. See the ProtonVPN WireGuard setup page to generate them, or use the ones provided to you.
111+
84112
1. Open the `.env` file in TextEdit:
113+
85114
```bash
86115
open -a TextEdit .env
87116
```
117+
88118
2. Find these two lines near the bottom:
89119
```
90120
WIREGUARD_PRIVATE_KEY=your_wireguard_private_key_here
91121
WIREGUARD_ADDRESSES=your_wireguard_address_here
92122
```
123+
93124
3. Replace the placeholder text with your actual values. For example:
94125
```
95126
WIREGUARD_PRIVATE_KEY=aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890abcdefg=
96127
WIREGUARD_ADDRESSES=10.2.0.2/32
97128
```
129+
98130
4. Save and close TextEdit (Cmd+S, then Cmd+Q)
131+
99132
---
133+
100134
## Step 6: Start the Stack
135+
101136
```bash
102137
docker compose up -d
103138
```
139+
104140
This will download everything it needs (about 2-3 GB, may take a few minutes on the first run). You'll see each service being created.
141+
105142
When it's done, wait about 30 seconds for everything to start up, then run the health check:
143+
106144
```bash
107145
bash scripts/health-check.sh
108146
```
147+
109148
Everything should show OK. If VPN shows FAIL, double-check your WireGuard keys in Step 5.
110149

111-
Optional: enable automatic container updates (Watchtower):
112-
```bash
113-
docker compose --profile autoupdate up -d watchtower
114-
```
115150
---
151+
116152
## Step 7: Set Up Plex Libraries
153+
117154
1. Open Plex in your browser: http://localhost:32400/web
118155
2. Go to Settings (wrench icon) > Libraries > Add Library
119156
3. Add a **Movies** library:
@@ -123,86 +160,111 @@ docker compose --profile autoupdate up -d watchtower
123160
- Type: TV Shows
124161
- Add folder: click "Browse" and navigate to your home folder > Media > TV Shows
125162
5. That's it. Plex will automatically scan these folders whenever new media appears.
163+
126164
**Important:** Always access Plex at `http://localhost:32400/web` from the server Mac itself. This avoids the "Plex Pass" paywall for remote streaming setup.
165+
127166
---
167+
128168
## Step 8: Auto-Configure Everything Else
169+
129170
This script automatically sets up all the connections between services. It configures the download client, indexers, and search providers so you don't have to touch any of that manually.
171+
130172
```bash
131173
bash scripts/configure.sh
132174
```
175+
133176
The script will:
134177
- Configure the download client (qBittorrent) with the right settings
135178
- Set up all the search indexers (where to find movies/shows)
136179
- Connect everything together (Prowlarr, Radarr, Sonarr, Seerr)
137180
- Ask you to sign in to Seerr with Plex (one browser click)
138181

139182
At the end it will print your qBittorrent password. Save it somewhere just in case, but you shouldn't need it for normal use.
183+
184+
---
185+
140186
## Step 9: Install Auto-Healer (Optional but Recommended)
187+
141188
This installs a background job that checks your stack every hour. If the VPN goes down or a container stops, it automatically restarts it. Set it and forget it.
189+
142190
```bash
143191
bash scripts/install-auto-heal.sh
144192
```
193+
145194
Logs go to `~/Media/logs/auto-heal.log` if you ever want to check what it's been doing.
195+
146196
To remove it later:
147197
```bash
148198
launchctl unload ~/Library/LaunchAgents/com.media-stack.auto-heal.plist
149199
rm ~/Library/LaunchAgents/com.media-stack.auto-heal.plist
150200
```
201+
151202
---
203+
152204
## You're Done!
205+
153206
**Day-to-day usage:**
154207
- Open http://localhost:5055 (Seerr) to browse and request movies/shows
155208
- Open http://localhost:32400/web (Plex) to watch your media
156209
- Everything else is automatic
157210

158211
**Bookmarks to save:**
159-
160212
| What | URL |
161213
|------|-----|
162214
| Seerr (browse/request) | http://localhost:5055 |
163215
| Plex (watch) | http://localhost:32400/web |
164216

165217
You probably won't need these, but just in case:
166-
167218
| What | URL |
168219
|------|-----|
169220
| Radarr (movies admin) | http://localhost:7878 |
170221
| Sonarr (TV admin) | http://localhost:8989 |
171222
| qBittorrent (downloads) | http://localhost:8080 |
223+
172224
**What happens automatically:**
173225
- New requests in Seerr get searched and downloaded
174226
- Downloads are automatically imported into Plex
175227
- Subtitles are auto-fetched (English)
176-
- If enabled, container updates happen at 4am daily (Watchtower)
177-
- Everything survives reboots (Docker + Plex both auto-start)
228+
- Container updates happen at 4am daily (Watchtower)
229+
- Everything survives reboots (OrbStack/Docker Desktop + Plex both auto-start)
230+
178231
---
232+
179233
## Troubleshooting
234+
180235
**Nothing is working after reboot:**
181-
Open OrbStack or Docker Desktop. Wait 30 seconds. Run `bash scripts/health-check.sh`.
236+
Open OrbStack (or Docker Desktop). Wait 30 seconds. Run `bash scripts/health-check.sh`.
237+
182238
**VPN health check fails:**
183239
Double-check your WireGuard keys in `.env`. Make sure there are no extra spaces. Then restart:
184240
```bash
185241
docker compose restart gluetun
186242
```
243+
187244
**Downloads are stuck or slow:**
188245
Open qBittorrent (http://localhost:8080) and check if torrents are active. If everything shows "stalled", the VPN tunnel may be down. Restart gluetun:
189246
```bash
190247
docker compose restart gluetun
191248
```
249+
192250
**Plex doesn't see new movies:**
193251
Plex scans periodically. To force a scan, open Plex, go to your library, and click the refresh icon. Or make sure the library folder paths are correct (Step 7).
252+
194253
**"Permission denied" errors:**
195254
Make sure your PUID/PGID in `.env` match your Mac user. Run `id -u` in Terminal to check.
255+
196256
**Want to stop everything:**
197257
```bash
198258
cd ~/mac-media-stack
199259
docker compose down
200260
```
261+
201262
**Want to start everything again:**
202263
```bash
203264
cd ~/mac-media-stack
204265
docker compose up -d
205266
```
267+
206268
**Need help?**
207269
Run the health check and share a screenshot with whoever set this up for you:
208270
```bash

0 commit comments

Comments
 (0)