Skip to content

Commit 27e1be9

Browse files
committed
Add OrbStack support as recommended container runtime
Runtime detection in bootstrap.sh and health-check.sh auto-detects OrbStack vs Docker Desktop. Docs updated to list both options with OrbStack recommended. Also resolves SETUP.md merge conflicts.
1 parent 881d914 commit 27e1be9

3 files changed

Lines changed: 47 additions & 13 deletions

File tree

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<sub>Automatically find, download, and organize movies and TV shows.<br>Browse a Netflix-like interface, click what you want, and it handles the rest.</sub>
1010
<br><br>
1111
<img src="https://img.shields.io/badge/Docker-2496ED?style=flat-square&logo=docker&logoColor=white" />
12+
<img src="https://img.shields.io/badge/OrbStack-000000?style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgZmlsbD0id2hpdGUiLz48L3N2Zz4=&logoColor=white" />
1213
<img src="https://img.shields.io/badge/Plex-EBAF00?style=flat-square&logo=plex&logoColor=white" />
1314
<img src="https://img.shields.io/badge/Sonarr-00CCFF?style=flat-square&logo=sonarr&logoColor=white" />
1415
<img src="https://img.shields.io/badge/Radarr-FFC230?style=flat-square&logo=radarr&logoColor=black" />
@@ -26,7 +27,7 @@ There are dozens of *arr stack Docker Compose repos on GitHub. Almost all of the
2627

2728
- **One command to install.** Clone, configure, and start everything with a single `curl | bash`. No 45-minute manual setup.
2829
- **Auto-configures itself.** The configure script wires up Radarr, Sonarr, Prowlarr, Seerr, and qBittorrent via their APIs. No clicking through 6 different web UIs.
29-
- **Built for macOS.** Native paths, launchd instead of systemd, Docker Desktop instead of bare Docker. Not a Linux guide with "should work on Mac" in the footnotes.
30+
- **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.
3031
- **Self-healing.** Hourly health checks restart anything that goes down. VPN drops, container crashes, stalled downloads — handled automatically.
3132

3233
---
@@ -49,13 +50,15 @@ There are dozens of *arr stack Docker Compose repos on GitHub. Almost all of the
4950
## Requirements
5051

5152
- macOS (any recent version)
52-
- Docker Desktop
53+
- [OrbStack](https://orbstack.dev) (recommended) or [Docker Desktop](https://www.docker.com/products/docker-desktop/)
5354
- A Plex account (free)
5455
- ProtonVPN WireGuard credentials
5556

57+
> **Why OrbStack?** It starts in ~2 seconds (vs 30s for Docker Desktop), uses ~1GB RAM (vs 4GB), and has 2-10x faster file I/O. It's a drop-in replacement that runs the same Docker commands. Docker Desktop works fine too.
58+
5659
## One-Command Install
5760

58-
Requires Docker Desktop and Plex already installed. Handles everything else.
61+
Requires OrbStack (or Docker Desktop) and Plex already installed. Handles everything else.
5962

6063
```bash
6164
curl -fsSL https://raw.githubusercontent.com/liamvibecodes/mac-media-stack/main/bootstrap.sh | bash

bootstrap.sh

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,33 @@ echo " Mac Media Stack Installer"
1616
echo "=============================="
1717
echo ""
1818

19-
# Check Docker
19+
# Detect container runtime
20+
detect_runtime() {
21+
if [[ -d "/Applications/OrbStack.app" ]] || command -v orbstack &>/dev/null; then
22+
echo "OrbStack"
23+
elif [[ -d "/Applications/Docker.app" ]]; then
24+
echo "Docker Desktop"
25+
else
26+
echo "none"
27+
fi
28+
}
29+
30+
RUNTIME=$(detect_runtime)
31+
2032
if ! docker info &>/dev/null; then
21-
echo -e "${RED}Docker Desktop is not running.${NC}"
22-
echo "Install it from https://www.docker.com/products/docker-desktop/"
23-
echo "Open it, wait for it to start, then run this again."
33+
if [[ "$RUNTIME" == "none" ]]; then
34+
echo -e "${RED}No container runtime found.${NC}"
35+
echo ""
36+
echo "Install one of these:"
37+
echo " OrbStack (recommended): brew install orbstack"
38+
echo " Docker Desktop: https://www.docker.com/products/docker-desktop/"
39+
else
40+
echo -e "${RED}$RUNTIME is not running.${NC}"
41+
echo "Open $RUNTIME, wait for it to start, then run this again."
42+
fi
2443
exit 1
2544
fi
26-
echo -e "${GREEN}OK${NC} Docker Desktop is running"
45+
echo -e "${GREEN}OK${NC} $RUNTIME is running"
2746

2847
# Check Plex
2948
if [[ -d "/Applications/Plex Media Server.app" ]] || pgrep -x "Plex Media Server" &>/dev/null; then

scripts/health-check.sh

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,26 @@ check_service() {
3131
fi
3232
}
3333

34-
# Check Docker is running
34+
# Detect container runtime
35+
detect_runtime() {
36+
if [[ -d "/Applications/OrbStack.app" ]] || command -v orbstack &>/dev/null; then
37+
echo "OrbStack"
38+
elif [[ -d "/Applications/Docker.app" ]]; then
39+
echo "Docker Desktop"
40+
else
41+
echo "Docker"
42+
fi
43+
}
44+
45+
RUNTIME=$(detect_runtime)
46+
3547
if docker info &>/dev/null; then
36-
echo -e " ${GREEN}OK${NC} Docker Desktop"
48+
echo -e " ${GREEN}OK${NC} $RUNTIME"
3749
((PASS++))
3850
else
39-
echo -e " ${RED}FAIL${NC} Docker Desktop (not running)"
51+
echo -e " ${RED}FAIL${NC} $RUNTIME (not running)"
4052
echo ""
41-
echo "Start Docker Desktop from your Applications folder and try again."
53+
echo "Start $RUNTIME and try again."
4254
exit 1
4355
fi
4456

@@ -107,7 +119,7 @@ echo ""
107119

108120
if [[ $FAIL -gt 0 ]]; then
109121
echo "Something's not right. Check the FAIL items above."
110-
echo "Most common fix: restart Docker Desktop and wait 30 seconds."
122+
echo "Most common fix: restart your container runtime (OrbStack or Docker Desktop) and wait 30 seconds."
111123
exit 1
112124
else
113125
echo "Everything looks good!"

0 commit comments

Comments
 (0)