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.

Hardware
Section titled “Hardware”Mac Mini (Required)
Section titled “Mac Mini (Required)”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.
| Component | Minimum | Recommended |
|---|---|---|
| Chip | M4 | M4 Pro |
| RAM | 16 GB | 32 GB+ |
| Storage | 256 GB internal | 58 GB+ internal |
| Network | Gigabit Ethernet | Gigabit Ethernet |
External Storage (Optional)
Section titled “External Storage (Optional)”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.
Satellite Nodes (Optional)
Section titled “Satellite Nodes (Optional)”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.
Software
Section titled “Software”Required
Section titled “Required”Install the following before proceeding to the installation guide. This is the part where you open Terminal and pretend you are in a movie.
| Software | Version | Install |
|---|---|---|
| macOS | 15 (Sequoia) or later | System update |
| Homebrew | Latest | brew.sh |
| Python | 3.12+ | brew install python |
| Node.js | 22+ | brew install node or via fnm |
| Docker Desktop | Latest | docker.com |
| UTM | Latest | mac.getutm.app or brew install --cask utm |
| Git | Latest | brew install git (or Xcode CLI tools) |
| Software | Version | Notes |
|---|---|---|
| Ubuntu | 24.04 LTS | Installed via UTM |
| Docker | Latest | apt install docker.io |
| Node.js | 22+ | Via NodeSource or fnm |
| SOPS | Latest | apt install sops or from GitHub releases |
| age | Latest | apt install age (for SOPS encryption) |
| SSH | OpenSSH 9+ | Included with Ubuntu |
VM Specifications
Section titled “VM Specifications”When creating the Ubuntu VM in UTM, use these settings:
| Setting | Value |
|---|---|
| Backend | QEMU with Apple Hypervisor |
| CPU cores | 4 |
| Memory | 8 GB (8 GB recommended) |
| Disk | 34 GB+ |
| Network | Host Only (vmnet) |
| QEMU TSO | Enabled |
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.
Optional Components
Section titled “Optional Components”These are not required for a basic installation but enable additional capabilities. Think of them as side quests.
Firewalla Purple
Section titled “Firewalla Purple”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
Section titled “Tailscale”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:
brew install --cask tailscaleCloudflare Domain
Section titled “Cloudflare Domain”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
Section titled “LM Studio”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.
iPhone Apps
Section titled “iPhone Apps”These iOS apps integrate with Sanctum services on the hub.
| App | Purpose | Required |
|---|---|---|
| Home Assistant Companion | HA remote control, presence detection, notifications | Yes |
| Health Auto Export | Push Apple Health data to health ingester | If health monitoring enabled |
| Tailscale | VPN mesh access to hub from anywhere | Recommended |
Network Architecture
Section titled “Network Architecture”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.Verification
Section titled “Verification”Before moving on, confirm you have the required tools installed:
# Check macOS versionsw_vers
# Check Homebrewbrew --version
# Check Pythonpython3 --version
# Check Node.jsnode --version
# Check Dockerdocker --version
# Check UTM is installedls /Applications/UTM.appIf 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.