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.

The hub node runs on a Mac Mini with Apple Silicon.

ComponentMinimumRecommended
ChipM4M4 Pro
RAM16 GB32 GB+
Storage256 GB internal512 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.

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.

Install the following before proceeding to the installation guide.

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 (8 recommended)
Memory8 GB (12 GB recommended)
Disk64 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.

These are not required for a basic installation but enable additional capabilities.

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.

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.

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

Once everything checks out, proceed to Installation.