Mac Mini Setup — Complete

mini.local — Intel i7-8700B, 64GB RAM, macOS 15.4 Sequoia
x86_64 233GB disk (44GB free) Python 3.13.12 (rivus env) rivus repo ✓
Tasks
9/9
Services
8/8
Infrastructure
Complete

Live health check: health.html — run python infra/mini/health_check.py --html to refresh

Setup Tasks

#TaskStatusNotes
1Install HomebrewDoneAlready at /usr/local/bin/brew
2Install tmux, caddy, redisDonetmux 3.6a, caddy 2.10.2, redis 8.6.0
3Set up CaddyfileDoneSymlinked /usr/local/etc/Caddyfile
4Create launchd wrapperDoneMini paths: ~/opt/mambaforge
5Create launchd plistsDone9 plists in ~/Library/LaunchAgents/
6Stop manual & load plistsDone4 manual → 9 launchd managed
7Create servers tmux sessionDoneStatus monitor + log tailing
8Set up ops poolDone2 warm sessions
9HTML status reportDoneThis page + health_check.py

Infrastructure

ComponentStatusDetails
Homebrew5.0.14/usr/local/bin/brew
tmux3.6a/usr/local/bin/tmux
Caddy2.10.2*.localhost TLS reverse proxy
Redis8.6.0homebrew service
cloudflaredRunningPort 20241 — tunnel active
Python 3.133.13.12rivus conda env
MambaforgeInstalled~/opt/mambaforge
Git2.39.5Apple Git
Claude CLI2.1.50~/.local/bin/claude
Claude Pool2 warmops pool (via ~/.local/bin/ops)
Env file32 keys~/.config/rivus/env
Launchd plists9 loadedAll running

Services

ServicePortStatusManagement
🧠 brain7910Runninglaunchd (local.rivus.brain-server)
👁️ watch7900Runninglaunchd (local.rivus.watch)
🌊 index7800Runninglaunchd (local.rivus.index)
📂 static7940Runninglaunchd (local.rivus.static)
💡 learning7850Runninglaunchd (local.rivus.learning)
📺 jobs dashboard7890Runninglaunchd (local.rivus.jobs-dashboard)
🏃 jobs runnerRunninglaunchd (local.rivus.jobs-runner)
🔥 llm.api8120Runninglaunchd (local.rivus.llm-server)
⎈ helm.api8130Runninglaunchd (local.rivus.helm-server)

Maintenance

ActionCommand
Run health checkpython infra/mini/health_check.py --html
Restart a servicessh mini "launchctl kickstart -k gui/501/local.rivus.{name}"
Check logsssh mini "tail -50 ~/Library/Logs/rivus/{name}.stderr.log"
Pool statusssh mini "ops pool status"
Top up poolssh mini "ops pool replenish"
Attach tmuxssh mini -t "tmux attach -t servers"
Setup completed: