macOS 13+ · Apple Silicon & Intel · Metal GPU · Apache 2.0

Private AI/RAG stack. Native on macOS. One command.

One-command installer for a full local AI/RAG stack on macOS. Deploys Dify, Open WebUI, Ollama, Weaviate/Qdrant, PostgreSQL, Redis, Nginx — with optional Open Notebook and DB-GPT — optimized for Mac Studio and Mac Pro with native Metal GPU acceleration.

  • 9install phases
  • 230BATS unit tests
  • 8 GBRAM minimum
  • Bash 3.2stock-shell compatible
~/AGmind-macos zsh
$ git clone https://github.com/botAGI/AGmind-macos.git
Cloning into 'AGmind-macos'… done.
$ cd AGmind-macos && bash install.sh
▸ Phase 1/9 · Diagnostics
macOS 14.4 · arm64 · 36 GB unified · 312 GB free · ports 80, 3000 free
▸ Phase 2/9 · Wizard
profile=lan · LLM=qwen2.5:14b · embed=nomic-embed-text · vector=weaviate
▸ Phase 3/9 · Prerequisites · Docker (Colima) + Compose v2
▸ Phase 4/9 · Ollama Setup · brew install
62%
Phase 6/9 · Start · docker compose up
Phase 7/9 · Health · all containers + Ollama API healthy
Phase 8/9 · Models · qwen2.5:14b, nomic-embed-text pulled
Phase 9/9 · Complete · LaunchAgents, CLI installed
Ollama (Metal) → http://localhost:11434
Open WebUI → http://localhost/
Dify → http://localhost/apps/
$
Why AGmind

Local AI on macOS without the Docker, brew and BSD headaches.

Running AI locally on macOS means dealing with Docker quirks, Ollama networking, Compose profiles, nginx routing, LaunchAgents instead of systemd, and BSD tools instead of GNU. AGmind handles all of it in one command.

Metal GPU acceleration

Ollama runs natively via Homebrew, not in Docker — direct access to the Metal API on Apple Silicon. The other services live behind Docker Compose so state stays portable; only the LLM hot path skips the Docker boundary.

Native Ollama Homebrew Mac Studio / Pro

Zero config

Wizard auto-detects your hardware and recommends models by unified memory — gemma3:4b on 8 GB, qwen2.5:7b on 16 GB, qwen2.5:14b on 32 GB, gemma3:27b on 64 GB, qwen2.5:72b on 96 GB+. Smart defaults, no manual YAML.

Optional tools — Open Notebook & DB-GPT

Add either with a single «yes» in the wizard, or env-vars INSTALL_OPEN_NOTEBOOK=1 INSTALL_DBGPT=1. Compose-profile-gated; both connect to native Ollama via host.docker.internal:11434.

macOS-native plumbing

brew instead of apt-get. LaunchAgents instead of systemctl/cron. sysctl hw.memsize, lsof -iTCP, BSD sed -i ''. Bash 3.2 stock-shell compatible — no gymnastics.

Day-2 ready — agmind CLI

Eight commands: status · doctor · start · stop · restart · logs · backup · uninstall. Doctor returns PASS/WARN/FAIL. Start brings up Ollama first, then Compose; stop reverses the order. Backup is rotated; uninstall is full removal with confirmation.

230 BATS tests · shellcheck · sandboxed integration

Every script is shellcheck-clean. 230 unit tests in tests/unit/, a sandboxed 9-phase integration run, and a --dry-run mode that validates the entire flow in ~1 second without sudo or system changes.

Quick start

Clone. Run. Get a local RAG stack.

Three modes — interactive (9 questions with smart defaults), non-interactive (env vars), and --dry-run (no sudo, no Docker, no system changes). All flags below are documented in the README.

  • --verbose · debug-level output
  • --non-interactive · skip prompts, read from env vars
  • --dry-run · full 9-phase run without system changes
  • --force-phase N · re-run phase N even if complete
  • Profiles: lan (no TLS) and offline (air-gapped, no internet)
Interactive
# Wizard asks 9 questions with smart defaults
$ git clone https://github.com/botAGI/AGmind-macos.git
$ cd AGmind-macos
$ bash install.sh
Non-interactive (CI / IaC)
$ NON_INTERACTIVE=1 \
  DEPLOY_PROFILE=lan \
  LLM_MODEL=qwen2.5:14b \
  EMBED_MODEL=nomic-embed-text \
  VECTOR_DB=weaviate \
  INSTALL_OPEN_NOTEBOOK=1 \
  INSTALL_DBGPT=1 \
  bash install.sh
Dry-run · validate without changing the system
$ bash install.sh --dry-run
Install orchestrator

9 phases. Idempotent & resumable.

Names below match the README phase table verbatim. Re-run picks up where it left off; --force-phase N re-runs a specific phase even if marked complete.

01

Diagnostics

Validates macOS 13+, RAM, disk, ports, brew, Docker.

macOS 13+RAM/diskport scan
02

Wizard

Interactive or non-interactive config — profile, models, vector DB, optional tools.

profilemodelsweaviate / qdrant
03

Prerequisites

Docker (Colima or Docker Desktop) + Compose v2.

ColimaDocker DesktopCompose v2
04

Ollama Setup

Native Ollama via Homebrew — Metal GPU acceleration.

brewMetalnative
05

Configuration

Generates .env, nginx.conf, docker-compose.yml, TOML configs, secrets.

.env (mode 600)nginx.confsecrets
06

Start

docker compose up + admin credential injection.

compose upadmin creds
07

Health

Polls all containers + Ollama API until healthy.

healthchecksOllama API
08

Models

Pulls LLM + embedding models via Ollama.

LLM pullembeddings
09

Complete

LaunchAgents, agmind CLI install, final summary.

LaunchAgentsagmind CLIsummary
Stack

What runs where.

Verbatim from the README stack table. Ollama is the only native (Homebrew-managed) component — everything else is Docker Compose.

Component Runs as Access
Dify (API + Worker + Web)Dockerhttp://<ip>/apps/
Open WebUIDockerhttp://<ip>/
OllamaNative (brew)http://localhost:11434
Weaviate or QdrantDockerinternal
PostgreSQL + RedisDockerinternal
NginxDockerport 80
Open Notebook (optional)Dockerhttp://<ip>/notebook/
DB-GPT (optional)Dockerhttp://<ip>/dbgpt/
Hardware & OS

Requirements at a glance.

Numbers come straight from the README requirements table — minimums for a working stack.

macOS 13+Ventura
Architecture arm64or x86_64
RAM minimum 8GB
RAM recommended 24+GB
Disk free 30GB
Ports free 80+ 3000
Start now

One command. Local AI/RAG on your Mac.

Apache 2.0. 230 BATS tests. macOS 13+ with Apple Silicon or Intel. Auto-detects your hardware, recommends models by RAM, your data stays local.

View on GitHub
$ git clone https://github.com/botAGI/AGmind-macos.git && cd AGmind-macos && bash install.sh