Skip to content

Requirements

Before installing Sanctum, make sure your environment meets the following requirements. The platform is designed for Apple Silicon Macs, with a Linux VM handling specific workloads. Yes, you are running an entire intelligence platform on a desktop computer the size of a sandwich. We will not apologize for this.

Inside the Mac Mini — every layer has a job

You will need a Mac Mini. The whole Mac Mini. Not an old one in a drawer — a current-generation Apple Silicon Mac Mini that you are prepared to leave running in a closet, silently orchestrating your domestic life like a very small, very expensive butler.

ComponentMinimumRecommended
ChipM4M4 Pro
RAM16 GB32 GB+
Storage256 GB internal58 GB+ internal
NetworkGigabit EthernetGigabit Ethernet

An external drive is useful for offline knowledge bases (Kiwix), media libraries, and backups. Any USB-C or Thunderbolt drive will work. There is no strict performance requirement since these workloads are not latency-sensitive. Even your data gets to relax sometimes.

For multi-site deployments, satellite nodes can run on any Apple Silicon Mac. An M1 Mac Mini with 16 GB is sufficient for a satellite. If you are the kind of person who has multiple homes and wants AI agents in all of them, congratulations on both your real estate portfolio and your commitment to unnecessary complexity.

Install the following before proceeding to the installation guide. This is the part where you open Terminal and pretend you are in a movie.

SoftwareVersionInstall
macOS15 (Sequoia) or laterSystem update
HomebrewLatestbrew.sh
Python3.12+brew install python
Node.js22+brew install node or via fnm
Docker DesktopLatestdocker.com
UTMLatestmac.getutm.app or brew install --cask utm
GitLatestbrew install git (or Xcode CLI tools)

When creating the Ubuntu VM in UTM, use these settings:

SettingValue
BackendQEMU with Apple Hypervisor
CPU cores4
Memory8 GB (8 GB recommended)
Disk34 GB+
NetworkHost Only (vmnet)
QEMU TSOEnabled

The VM will receive a static IP on the 10.10.10.0/24 subnet. The Mac acts as the bridge gateway at 10.10.10.1, and the VM sits at 10.10.10.10. Two machines, one private network, no internet access for the VM. It is a Linux box in solitary confinement, and it prefers it that way.

These are not required for a basic installation but enable additional capabilities. Think of them as side quests.

A Firewalla Purple in Router mode provides network-level security, DNS management, and device monitoring. Sanctum includes a bridge service that communicates with Firewalla over its P2P API on port 8833.

If you do not have a Firewalla, Sanctum will still function. Network management features will simply be unavailable, and you will have to monitor your network the old-fashioned way: by not monitoring it at all and hoping for the best.

Tailscale provides secure mesh networking between nodes. It is required for multi-node deployments (hub + satellite) and strongly recommended for remote access to your hub.

Install Tailscale on each node:

Terminal window
brew install --cask tailscale

A domain managed through Cloudflare enables secure public access to specific services (such as the Home Assistant dashboard or health endpoints) via Cloudflare Tunnel. The free Zero Trust plan is sufficient.

LM Studio provides a local inference server for large language models. Sanctum uses it as a primary or fallback model provider. Install it as a standard macOS application and configure it to serve on port 1234.

These iOS apps integrate with Sanctum services on the hub.

AppPurposeRequired
Home Assistant CompanionHA remote control, presence detection, notificationsYes
Health Auto ExportPush Apple Health data to health ingesterIf health monitoring enabled
TailscaleVPN mesh access to hub from anywhereRecommended

Sanctum expects the following network layout:

Internet
|
Modem / ONT
|
Firewalla WAN (optional, Router mode)
|
LAN (192.168.1.0/24)
|-- Mac Mini (.10) -- Host Only bridge (10.10.10.0/24) -- Ubuntu VM (.10)
|-- Orbi / Wi-Fi AP (.2, AP mode)
\-- Smart devices, speakers, etc.

Before moving on, confirm you have the required tools installed:

Terminal window
# Check macOS version
sw_vers
# Check Homebrew
brew --version
# Check Python
python3 --version
# Check Node.js
node --version
# Check Docker
docker --version
# Check UTM is installed
ls /Applications/UTM.app

If all of those commands returned something other than an error, you are ready. If any of them failed, fix it now. The installation guide is patient, but it will not hold your hand through missing dependencies.

Once everything checks out, proceed to Installation.