Skip to content

Commit 0e0be06

Browse files
committed
Add basic-to-advanced upgrade guide
1 parent da485e1 commit 0e0be06

2 files changed

Lines changed: 131 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ The `watchtower` line above enables automatic container image updates (scheduled
124124
## Full Setup Guide
125125

126126
See [SETUP.md](SETUP.md) for the complete walkthrough.
127+
Upgrading from basic? See [UPGRADE.md](UPGRADE.md).
127128
Pinned digest matrix: [IMAGE_LOCK.md](IMAGE_LOCK.md)
128129

129130
By default, Seerr is bound to `127.0.0.1` for safer local-only access. Set `SEERR_BIND_IP=0.0.0.0` in `.env` only if you intentionally want LAN exposure.

UPGRADE.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Upgrade Guide: Basic -> Advanced
2+
3+
This guide upgrades an existing `mac-media-stack` install to `mac-media-stack-advanced` without losing your media library or app config.
4+
5+
## Before You Start
6+
7+
- Stop any active downloads first (recommended).
8+
- Keep your existing `MEDIA_DIR` path exactly the same.
9+
- Do not run basic and advanced at the same time.
10+
11+
## What Carries Over
12+
13+
If you reuse the same `MEDIA_DIR`, advanced will reuse your existing:
14+
15+
- Movies/TV library files
16+
- Radarr/Sonarr/Prowlarr/qBittorrent/Bazarr/Seerr configs
17+
- API keys and existing app state inside `${MEDIA_DIR}/config`
18+
19+
## 1. Backup (Required)
20+
21+
```bash
22+
# adjust if your media path is not ~/Media
23+
MEDIA_DIR=~/Media
24+
25+
# backup media stack config/state quickly
26+
mkdir -p ~/media-stack-upgrade-backup
27+
cp -a "$MEDIA_DIR/config" ~/media-stack-upgrade-backup/config
28+
cp -a "$MEDIA_DIR/state" ~/media-stack-upgrade-backup/state 2>/dev/null || true
29+
cp -a "$MEDIA_DIR/logs" ~/media-stack-upgrade-backup/logs 2>/dev/null || true
30+
```
31+
32+
If you already use the advanced backup repo/tooling, run that instead.
33+
34+
## 2. Stop Basic Stack
35+
36+
```bash
37+
cd ~/mac-media-stack
38+
docker compose down
39+
```
40+
41+
## 3. Clone Advanced
42+
43+
```bash
44+
cd ~
45+
git clone https://github.com/liamvibecodes/mac-media-stack-advanced.git
46+
cd mac-media-stack-advanced
47+
```
48+
49+
## 4. Configure `.env` for Existing Media Path
50+
51+
Generate a starter `.env` if needed:
52+
53+
```bash
54+
bash scripts/setup.sh
55+
```
56+
57+
Open `.env` and confirm:
58+
59+
- `MEDIA_DIR` points to your existing library path from basic
60+
- your VPN keys are set (`WIREGUARD_PRIVATE_KEY`, `WIREGUARD_ADDRESSES`)
61+
62+
```bash
63+
open -a TextEdit .env
64+
```
65+
66+
## 5. Run Preflight + Start Advanced
67+
68+
```bash
69+
bash scripts/doctor.sh
70+
docker compose up -d
71+
```
72+
73+
## 6. Run Auto-Configuration
74+
75+
```bash
76+
bash scripts/configure.sh
77+
```
78+
79+
This auto-wires:
80+
81+
- qBittorrent, Radarr, Sonarr, Prowlarr, Seerr
82+
- Recyclarr API keys
83+
- Unpackerr API keys (+ Unpackerr restart)
84+
85+
## 7. Complete Advanced-Only Manual Setup
86+
87+
Still manual by design:
88+
89+
- Kometa: add `PLEX_TOKEN` + TMDB API key in `${MEDIA_DIR}/config/kometa/config.yml`
90+
- Tdarr: configure libraries/plugins in Web UI (`http://localhost:8265`)
91+
92+
## 8. Install Automation Jobs
93+
94+
```bash
95+
bash scripts/install-launchd-jobs.sh
96+
```
97+
98+
This installs auto-heal, backup, watchdog, Kometa runner, and log-prune.
99+
100+
## 9. Validate
101+
102+
```bash
103+
bash scripts/health-check.sh
104+
```
105+
106+
Confirm:
107+
108+
- core services show `OK`
109+
- VPN shows healthy
110+
- Plex can still see your existing libraries
111+
112+
## Optional: Enable Watchtower
113+
114+
```bash
115+
docker compose --profile autoupdate up -d watchtower
116+
```
117+
118+
## Rollback (If Needed)
119+
120+
```bash
121+
# stop advanced
122+
cd ~/mac-media-stack-advanced
123+
docker compose down
124+
125+
# bring basic back
126+
cd ~/mac-media-stack
127+
docker compose up -d
128+
```
129+
130+
Because both stacks use the same `MEDIA_DIR`, rollback is quick.

0 commit comments

Comments
 (0)