Skip to content

Commit a9c920a

Browse files
Grace Bradleyclaude
authored andcommitted
docs: update all documentation for macOS Apple Silicon support
- README.md: macOS status "Supported", add install section, Apple Silicon tier table - SUPPORT-MATRIX.md: promote macOS from Tier C to Tier B with full runtime - PLATFORM-TRUTH-TABLE.md: update macOS claims and release language guardrails - KNOWN-GOOD-VERSIONS.md: add tested macOS configuration (M4, macOS 26, Docker 29.2.1) - MACOS-QUICKSTART.md: new quickstart guide following Windows pattern - docs/README.md: add macOS section to documentation index Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 8eb36b5 commit a9c920a

6 files changed

Lines changed: 215 additions & 38 deletions

File tree

README.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
> |----------|--------|
2727
> | **Linux** (NVIDIA + AMD) | **Supported** — install and run today |
2828
> | **Windows** (NVIDIA + AMD) | **Supported** — install and run today |
29-
> | **macOS** (Apple Silicon) | **Coming soon**target mid-March 2026 |
29+
> | **macOS** (Apple Silicon) | **Supported**install and run today |
3030
>
3131
> **Tested Linux distros:** Ubuntu 24.04/22.04, Debian 12, Fedora 41+, Arch Linux, CachyOS, openSUSE Tumbleweed. Other distros using apt, dnf, pacman, or zypper should also work — [open an issue](https://github.com/Light-Heart-Labs/DreamServer/issues) if yours doesn't.
3232
>
3333
> **Windows:** Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs llama-server natively with Vulkan.
3434
>
35-
> The macOS installer currently provides system diagnostics and preflight checks only.
36-
> Full macOS runtime support is in active development.
35+
> **macOS:** Requires Apple Silicon (M1+) and Docker Desktop. llama-server runs natively with Metal GPU acceleration; all other services run in Docker.
36+
>
3737
> See the [Support Matrix](dream-server/docs/SUPPORT-MATRIX.md) for details.
3838
3939
---
@@ -98,16 +98,20 @@ The installer detects your GPU, picks the right model, generates credentials, st
9898
</details>
9999

100100
<details>
101-
<summary><b>macOS (coming soon — not yet functional)</b></summary>
101+
<summary><b>macOS (Apple Silicon)</b></summary>
102102

103-
The macOS installer currently runs **preflight diagnostics only** — it will check your system but will not produce a working AI stack yet. Full runtime support for Apple Silicon is in active development (target mid-March 2026).
103+
Requires Apple Silicon (M1+) and Docker Desktop.
104104

105105
```bash
106106
git clone https://github.com/Light-Heart-Labs/DreamServer.git
107107
cd DreamServer/dream-server
108-
./install.sh # Runs preflight checks; full runtime coming soon
108+
./install.sh
109109
```
110110

111+
The installer detects your chip, picks the right model for your unified memory, launches llama-server natively with Metal acceleration, and starts all other services in Docker. Manage with `./dream-macos.sh status`.
112+
113+
See the [macOS Quickstart](dream-server/docs/MACOS-QUICKSTART.md) for details.
114+
111115
</details>
112116

113117
---
@@ -162,6 +166,15 @@ The installer detects your GPU and picks the optimal model automatically. No man
162166
| 64–89 GB | Qwen3 30B-A3B (30B MoE) | Ryzen AI MAX+ 395 (64GB) |
163167
| 90+ GB | Qwen3 Coder Next (80B MoE) | Ryzen AI MAX+ 395 (96GB) |
164168

169+
### Apple Silicon (Unified Memory, Metal)
170+
171+
| Unified RAM | Model | Example Hardware |
172+
|-------------|-------|-----------------|
173+
| 8 GB | Qwen3 4B (Q4_K_M) | M1/M2 base (8GB) |
174+
| 16 GB | Qwen3 8B (Q4_K_M) | M4 Mac Mini, M3 MacBook Air |
175+
| 32–48 GB | Qwen3 14B (Q4_K_M) | M4 Pro Mac Mini, M2 Max MacBook Pro |
176+
| 64+ GB | Qwen3 30B-A3B (30B MoE) | M2 Ultra Mac Studio, M4 Max MacBook Pro |
177+
165178
Override tier selection: `./install.sh --tier 3`
166179

167180
---

dream-server/docs/KNOWN-GOOD-VERSIONS.md

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,42 @@
22

33
Use these as minimum practical baselines for support triage.
44

5-
Last updated: 2026-03-02
5+
Last updated: 2026-03-05
6+
7+
## macOS (Apple Silicon, Metal)
8+
9+
Tested configuration:
10+
11+
- macOS 15+ (Sequoia) / macOS 26 (Tahoe)
12+
- Apple M4 (base, 16GB unified memory)
13+
- Docker Desktop 4.20+ (29.2.1 tested)
14+
- llama.cpp release: b8210
15+
16+
| Component | Tested version |
17+
|-----------|---------------|
18+
| macOS | 26.3 (25D125) |
19+
| Chip | Apple M4 (10-core GPU) |
20+
| RAM | 16 GB unified |
21+
| Docker Desktop | 29.2.1 |
22+
| llama.cpp | b8210 |
23+
| Model | Qwen3-8B-Q4_K_M |
24+
| Context | 32768 |
25+
| Services online | 16/17 (ComfyUI not deployed — no macOS GPU backend) |
26+
27+
Quick checks:
28+
29+
```bash
30+
uname -m # Must be arm64
31+
sysctl -n machdep.cpu.brand_string
32+
system_profiler SPHardwareDataType | grep "Memory"
33+
docker version
34+
```
635

736
## Windows (WSL2 delegated path)
837

938
- Windows 11 23H2+ (or Windows 10 with current WSL2 support)
1039
- WSL default version: `2`
11-
- Docker Desktop: 4.30+ (WSL2 backend enabled)
40+
- Docker Desktop: 4.20+ (WSL2 backend enabled)
1241
- NVIDIA driver (if using NVIDIA): current Studio/Game Ready with WSL support
1342

1443
Quick checks:
@@ -27,20 +56,6 @@ docker info
2756
nvidia-smi
2857
```
2958

30-
## macOS (installer MVP / experimental runtime)
31-
32-
- macOS 14+ recommended
33-
- Apple Silicon (arm64) strongly recommended
34-
- Docker Desktop: 4.30+
35-
36-
Quick checks:
37-
38-
```bash
39-
uname -m
40-
docker version
41-
df -g "$HOME"
42-
```
43-
4459
## Linux (native)
4560

4661
- Ubuntu 22.04+ / Debian 12+ recommended
Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
# Dream Server macOS Quickstart
2+
3+
> **Status: Supported**
4+
>
5+
> The macOS installer runs end-to-end on Apple Silicon. One command gives you a full local AI stack with Metal-accelerated inference.
6+
7+
---
8+
9+
## Prerequisites
10+
11+
- **Apple Silicon** Mac (M1, M2, M3, M4 or later)
12+
- **Docker Desktop** 4.20+ installed and running
13+
- **16 GB+ unified memory** recommended (8 GB minimum)
14+
- **20 GB+ free disk space** (model + Docker images)
15+
16+
---
17+
18+
## Install
19+
20+
```bash
21+
git clone https://github.com/Light-Heart-Labs/DreamServer.git
22+
cd DreamServer/dream-server
23+
./install.sh
24+
```
25+
26+
The installer will:
27+
28+
1. **Detect your chip** — identifies Apple Silicon variant and unified memory
29+
2. **Pick the right model** — selects optimal model size for your RAM
30+
3. **Download llama-server** — native macOS arm64 binary with Metal support
31+
4. **Download your model** — GGUF file sized for your hardware
32+
5. **Start Docker services** — chat UI, search, workflows, voice, and more
33+
6. **Install OpenCode** — browser-based AI coding IDE on port 3003
34+
35+
**Estimated time:** 5–15 minutes depending on download speed.
36+
37+
---
38+
39+
## Open the UI
40+
41+
- **Chat UI:** http://localhost:3000
42+
- **Dashboard:** http://localhost:3001
43+
- **OpenCode (IDE):** http://localhost:3003
44+
45+
First user on the Chat UI becomes admin. Start chatting immediately.
46+
47+
---
48+
49+
## Architecture
50+
51+
```
52+
macOS Host
53+
├── llama-server (native, Metal GPU acceleration)
54+
├── OpenCode web IDE (native, LaunchAgent)
55+
└── Docker Desktop
56+
├── Open WebUI (port 3000)
57+
├── Dashboard (port 3001)
58+
├── LiteLLM API Gateway (port 4000)
59+
├── n8n Workflows (port 5678)
60+
├── Qdrant Vector DB (port 6333)
61+
├── SearXNG Search (port 8888)
62+
├── Perplexica Deep Research (port 3004)
63+
├── OpenClaw Agents (port 7860)
64+
├── TEI Embeddings (port 8090)
65+
├── Whisper STT (port 9000)
66+
├── Kokoro TTS (port 8880)
67+
└── Privacy Shield (port 8085)
68+
```
69+
70+
llama-server runs natively for full Metal GPU utilization. Docker containers reach it via `host.docker.internal:8080`.
71+
72+
---
73+
74+
## Managing Your Stack
75+
76+
```bash
77+
./dream-macos.sh status # Health checks for all services
78+
./dream-macos.sh stop # Stop everything
79+
./dream-macos.sh start # Start everything
80+
./dream-macos.sh restart # Restart everything
81+
./dream-macos.sh logs llama-server # Tail llama-server logs
82+
```
83+
84+
---
85+
86+
## Hardware Tiers
87+
88+
The installer auto-selects the best model for your unified memory:
89+
90+
| Unified RAM | Tier | Model | Context |
91+
|-------------|------|-------|---------|
92+
| 8 GB | 1 | Qwen3 4B (Q4_K_M) | 8192 |
93+
| 16 GB | 2 | Qwen3 8B (Q4_K_M) | 32768 |
94+
| 32–48 GB | 3 | Qwen3 14B (Q4_K_M) | 32768 |
95+
| 64+ GB | 4 | Qwen3 30B-A3B (30B MoE) | 32768 |
96+
97+
Override: `./install.sh --tier 3`
98+
99+
---
100+
101+
## Troubleshooting
102+
103+
| Issue | Fix |
104+
|-------|-----|
105+
| "Docker not running" | Start Docker Desktop, wait for whale icon in menu bar |
106+
| "Not Apple Silicon" | Intel Macs are not supported — Apple Silicon (arm64) required |
107+
| "Port in use" | Check for conflicting services: `lsof -i :8080` |
108+
| llama-server crashes | Check memory — your model may be too large for available RAM |
109+
| Docker services slow to start | First launch pulls images (~10 GB); subsequent starts are fast |
110+
| TEI embeddings container restarts | Normal on arm64 — runs via Rosetta 2 emulation, may need a minute |
111+
112+
---
113+
114+
## Files & Locations
115+
116+
| What | Where |
117+
|------|-------|
118+
| Install directory | `~/dream-server/` |
119+
| Config | `~/dream-server/.env` |
120+
| Models | `~/dream-server/data/models/` |
121+
| llama-server binary | `~/dream-server/llama-server/` |
122+
| OpenCode | `~/.opencode/bin/opencode` |
123+
| OpenCode config | `~/.config/opencode/opencode.json` |
124+
| LaunchAgent (OpenCode) | `~/Library/LaunchAgents/com.dreamserver.opencode-web.plist` |
125+
| CLI tool | `~/dream-server/dream-macos.sh` |
126+
127+
---
128+
129+
## Known Limitations
130+
131+
- **ComfyUI (image generation)** is not available on macOS — requires NVIDIA GPU backend
132+
- **Dashboard GPU info** shows "Unknown" — macOS Metal is not detected by the Linux-based dashboard container
133+
- **TEI embeddings** runs under Rosetta 2 emulation (linux/amd64) — functional but slower than native
134+
135+
---
136+
137+
## Need Help?
138+
139+
- Support matrix: [SUPPORT-MATRIX.md](SUPPORT-MATRIX.md)
140+
- General FAQ: [../FAQ.md](../FAQ.md)
141+
- General troubleshooting: [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
142+
143+
---
144+
145+
*Last updated: 2026-03-05*

dream-server/docs/PLATFORM-TRUTH-TABLE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ Last updated: 2026-03-05
1010
| Linux AMD unified (Strix) | Preferred AMD path | Tier A || Real install + runtime benchmarks + doctor/preflight clean |
1111
| Linux NVIDIA | CUDA/llama-server path | Tier B || Real install + model load + runtime/throughput checks |
1212
| Windows (Docker Desktop + WSL2) | Standalone installer with full runtime | Tier B || `.\install.ps1` real run + GPU detection + Docker compose up + health checks pass |
13-
| macOS Apple Silicon | Preflight diagnostics only (no runtime) | Tier C | Mid-March 2026 | `installers/macos.sh` run + preflight/doctor pass + full runtime parity |
13+
| macOS Apple Silicon | Native Metal inference + Docker services | Tier B | | `./install.sh` real run + chip detection + llama-server Metal healthy + 16/17 services online + health checks pass |
1414

1515
## Release language guardrails
1616

1717
- Safe to claim now:
1818
- Linux support (AMD Strix Halo + NVIDIA).
1919
- Windows support (Docker Desktop + WSL2, NVIDIA/AMD GPU auto-detection).
20-
- macOS **coming soon** with preflight diagnostics available now.
20+
- macOS support (Apple Silicon with Metal acceleration).
2121
- Not safe to claim now:
22-
- macOS **support** (implies a working runtime, which does not exist yet).
23-
- Full macOS runtime parity with Linux.
22+
- Full macOS runtime parity with Linux (ComfyUI not available on macOS — no GPU backend for image generation).
23+
- macOS Tier A (needs broader hardware validation across M1/M2/M3/M4 variants).

dream-server/docs/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@
4242
| [DREAM-DOCTOR.md](DREAM-DOCTOR.md) | Operators | Diagnostic tool usage |
4343
| [PREFLIGHT-ENGINE.md](PREFLIGHT-ENGINE.md) | Developers | Preflight validation system |
4444

45+
## macOS
46+
47+
| Doc | Audience | Description |
48+
|-----|----------|-------------|
49+
| [MACOS-QUICKSTART.md](MACOS-QUICKSTART.md) | Operators | macOS Apple Silicon install guide |
50+
4551
## Windows
4652

4753
| Doc | Audience | Description |

dream-server/docs/SUPPORT-MATRIX.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@ Last updated: 2026-03-05
44

55
## What Works Today
66

7-
**Linux and Windows are fully supported.** macOS support is coming soon — the macOS installer currently provides system diagnostics and preflight checks only.
7+
**Linux, Windows, and macOS are fully supported.**
88

99
| Platform | Status | What you get today |
1010
|----------|--------|-------------------|
1111
| **Linux + AMD Strix Halo (ROCm)** | **Fully supported** | Complete install and runtime. Primary development platform. |
1212
| **Linux + NVIDIA (CUDA)** | **Supported** | Complete install and runtime. Broader distro test matrix still expanding. |
1313
| **Windows (Docker Desktop + WSL2)** | **Supported** | Complete install and runtime via `.\install.ps1`. GPU auto-detection (NVIDIA/AMD). |
14-
| **macOS (Apple Silicon)** | **Coming soon** (target: mid-March 2026) | Preflight diagnostics and system readiness checks only. No runtime. |
14+
| **macOS (Apple Silicon)** | **Supported** | Complete install and runtime via `./install.sh`. Native Metal inference + Docker services. |
1515

1616
## Support Tiers
1717

1818
- `Tier A` — fully supported and actively tested in this repo
19-
- `Tier B`partially supported (works in some paths, gaps remain)
19+
- `Tier B` — supported (works end-to-end, broader validation ongoing)
2020
- `Tier C` — experimental or planned (installer diagnostics only, no runtime)
2121

2222
## Platform Matrix (detailed)
@@ -26,27 +26,25 @@ Last updated: 2026-03-05
2626
| Linux (Ubuntu/Debian family) | NVIDIA (llama-server/CUDA) | Tier B | Installer path exists in `install-core.sh`; broader distro test matrix still pending |
2727
| Linux (Strix Halo / AMD unified memory) | AMD (llama-server/ROCm) | Tier A | Primary path via `docker-compose.base.yml` + `docker-compose.amd.yml` |
2828
| Windows (Docker Desktop + WSL2) | NVIDIA/AMD via Docker Desktop | Tier B | Standalone installer (`.\install.ps1`) with GPU auto-detection, Docker orchestration, health checks, and desktop shortcuts |
29-
| macOS (Apple Silicon) | Metal/MLX-style local backend | Tier C | `installers/macos.sh` runs preflight + doctor with actionable reports; full runtime under development |
29+
| macOS (Apple Silicon) | Metal (native llama-server) | Tier B | Standalone installer (`./install.sh`) with chip detection, native Metal inference, Docker services, and LaunchAgent auto-start |
3030

3131
## Current Truth
3232

33-
- **Linux and Windows are fully supported.**
33+
- **Linux, Windows, and macOS are fully supported.**
3434
- Linux + NVIDIA is supported but needs broader validation and CI matrix coverage.
3535
- Windows installs via `.\install.ps1` with Docker Desktop + WSL2 backend.
36-
- macOS installer runs preflight diagnostics only — it **will not produce a running AI stack**.
37-
- macOS full runtime support is targeted for mid-March 2026.
36+
- macOS installs via `./install.sh` — llama-server runs natively with Metal acceleration, all other services in Docker.
3837
- Version baselines for triage are in `docs/KNOWN-GOOD-VERSIONS.md`.
3938

4039
## Roadmap
4140

4241
| Target | Milestone |
4342
|--------|-----------|
44-
| **Now** | Linux AMD + NVIDIA + Windows fully supported |
45-
| **Mid-March 2026** | macOS Apple Silicon full runtime support |
43+
| **Now** | Linux AMD + NVIDIA + Windows + macOS fully supported |
4644
| **Ongoing** | CI smoke matrix expansion for all platforms |
4745

4846
## Next Milestones
4947

50-
1. Ship macOS Apple Silicon full runtime (installer + compose + runtime parity).
51-
2. Add CI smoke matrix for Linux NVIDIA/AMD and WSL logic checks.
52-
3. Promote macOS from Tier C to Tier B after validated real-hardware runs.
48+
1. Add CI smoke matrix for Linux NVIDIA/AMD and WSL logic checks.
49+
2. Expand macOS test coverage across M1/M2/M3/M4 variants and RAM tiers.
50+
3. Promote macOS from Tier B to Tier A after broader real-hardware validation.

0 commit comments

Comments
 (0)