Skip to content

Services

Every Sanctum service has an enabled flag in instance.yaml. Disabled services are skipped by the plist generator, excluded from the dashboard, and ignored by the watchdog. This page is the authoritative catalog of all services in the platform.

The foundation of a Sanctum instance. These services are expected to run on every hub node.

ServicePortLaunchAgent / UnitDescription
DenchClaw Gateway18789ai.openclaw.gatewayMac-side agent gateway. Runs Jocasta (household management agent) and exposes the agent API.
Home Assistant8123Docker containerHome automation hub. Bridge-networked Docker container with HomeKit bridge on port 21063.
Command Center3001com.manoir.command-centerWeb dashboard for service status, agent activity, and system health.
Health Centercom.manoir.health-centerHealth monitoring dashboard for family wellness data.
Holocron (Dench)19001ai.openclaw.denchFamily chat interface. Bound to LAN, token-authenticated. Accessible at http://holocron/.
Dench Proxy80com.manoir.dench-proxyLaunchDaemon (runs as root). Reverse proxy from port 80 to Holocron on port 19001.
services:
gateway:
enabled: true
port: 18789
home_assistant:
enabled: true
port: 8123
homekit_port: 21063
dashboard:
enabled: true
port: 3001

Local inference and voice services that take advantage of Apple Silicon hardware on the Mac Mini.

ServicePortLaunchAgentDescription
LM Studio1234com.manoir.lmstudio-serverLocal LLM inference. Serves Qwen 3.5 35B (MoE). API key: lm-studio.
Council-27B MLX8899com.sanctum.council-mlxQuantized Qwen 3.5 27B 4-bit with per-agent LoRA adapters. Runs natively on Apple Silicon via MLX. KeepAlive enabled.
XTTS TTS Server8020com.yoda.xtts-serverXTTS-v2 text-to-speech server. Runs on the MPS GPU for real-time voice synthesis.
Voice Agent8090com.yoda.voice-agentYoda voice interface. Integrates with Sonos speakers via Home Assistant media_player.play_media.
LiteLLM Proxy4000 / 4001com.sanctum.litellm-proxyLLM routing proxy with automatic fallback chain. Falls back from Anthropic to OpenRouter models on billing errors. KeepAlive enabled.

The AI services form a fallback chain for inference:

Request
|
+-- Primary: anthropic/claude-opus-4-6
| (via direct API)
|
+-- Fallback 1: LM Studio (local, port 1234)
| Qwen 3.5 35B
|
+-- Fallback 2: Council-27B MLX (local, port 8899)
| Qwen 3.5 27B 4-bit + LoRA
|
+-- Fallback 3: OpenRouter
Qwen 3.5 Plus -> DeepSeek V3.2 -> MiniMax M2.5
services:
lm_studio:
enabled: true
port: 1234
council_mlx:
enabled: true
port: 8899
voice_agent:
enabled: true
port: 8090
tts:
enabled: true
port: 8020
litellm:
enabled: true
port: 4000
admin_port: 4001

Bridges and tunnels that connect Sanctum to network devices and the outside world.

ServicePortLaunchAgentDescription
Firewalla Bridge18094com.openclaw.firewalla-bridgeHTTP bridge to the Firewalla Purple router P2P API (port 8833). Bound to 0.0.0.0 so the VM can reach it. KeepAlive enabled.
Orbi Bridge18080 / 18085com.sanctum.orbi-bridgeSocat bridge forwarding traffic from the VM to the Orbi access point (192.168.1.2 ports 80 and 5000). KeepAlive enabled.
Cloudflare Tunnelcom.cloudflare.tunnelNamed tunnel manoir-nepveu. Exposes health.nepveu.name and ha.nepveu.name via Cloudflare Zero Trust. KeepAlive enabled.
HA SSH Tunnel18092com.user.ha-ssh-tunnelSSH tunnel forwarding port 18092 to the VM for Home Assistant integrations.
Health SSH Tunnel18095com.user.health-ssh-tunnelSSH tunnel forwarding port 18095 to the VM for the health data ingester. KeepAlive enabled.
mDNS Alias (manoir)com.manoir.mdns-aliasBroadcasts manoir-nepveu.local via mDNS for LAN discovery. KeepAlive enabled.
mDNS Alias (holocron)com.manoir.mdns-denchBroadcasts holocron.local via mDNS for the chat interface. KeepAlive enabled.
SubdomainLocal TargetPurpose
health.nepveu.namelocalhost:18095Health data ingestion endpoint
ha.nepveu.namelocalhost:8123Home Assistant remote access
services:
firewalla_bridge:
enabled: true
port: 18094
orbi_bridge:
enabled: true
port: 18080
admin_port: 18085
cloudflare_tunnel:
enabled: true
tunnel_name: manoir-nepveu

Background agents that maintain the health, security, and data integrity of the instance.

ServicePortLaunchAgentDescription
Watchdogcom.sanctum.watchdogRuns every 600 seconds. Checks all enabled services and auto-heals failures via service-doctor.
Secret Rotationcom.sanctum.rotate-secretsRuns on the 1st of each month at 3:30 AM. Rotates gateway tokens and updates Keychain entries.
iCloud Filercom.manoir.icloud-filerAuto-filing daemon. Organizes documents from iCloud Drive into structured folders. KeepAlive enabled.
iCloud Backupcom.openclaw.icloud-backupPeriodic backup of Sanctum configuration and data to iCloud Drive.
UTM Autostartcom.user.utm-autostartLaunches UTM on login, starts the Ubuntu VM, and sets the bridge100 interface IP to 10.10.10.1.
Music Cleanupcom.manoir.music-cleanupRuns every Sunday at 3:15 AM. Organizes the Apple Music library via apple-music-organize.sh.
Kiwix8888com.manoir.kiwix-serveOffline knowledge library. Serves cached reference content. Requires external T9 drive. KeepAlive enabled with 30-second throttle.
services:
watchdog:
enabled: true
settle_delay: 15
auto_fix: true
dedup_window: 1800
secret_rotation:
enabled: true
schedule: "0 3:30 1 * *"
icloud_filer:
enabled: true
kiwix:
enabled: true
port: 8888

These services run on the Ubuntu VM (10.10.10.10) and are managed by systemd, not macOS LaunchAgents.

ServicePortSystemd UnitDescription
OpenClaw Gateway18789openclaw-gateway.service (user)VM agent gateway with 1.5 GB heap. Runs 5 agents: Yoda (main), Windu (security), Qui-Gon (efficiency), Cilghal (health), Mundi (finance).
Dockerdocker.serviceContainer runtime for any VM-side containers.
SSH22ssh.socketRemote access. Key-only auth with PQ key exchange enabled.
AgentRoleSpecialization
YodaMainPrimary household agent. General queries, orchestration, task delegation.
WinduSecurityNetwork monitoring, threat analysis, Firewalla integration, daily security briefings.
Qui-GonEfficiencyEnergy optimization, automation suggestions, system performance tuning.
CilghalHealthFamily health tracking, genome analysis, supplement protocols.
MundiFinanceBudget tracking, investment monitoring, expense categorization.

The gateway uses SOPS+age encryption for secrets. The sops-start.sh wrapper decrypts environment variables at startup and never writes plaintext to disk.

Terminal window
# Restart the VM gateway
ssh ubuntu@10.10.10.10 'systemctl --user restart openclaw-gateway'
# Check status
ssh ubuntu@10.10.10.10 'systemctl --user status openclaw-gateway'
# View logs
ssh ubuntu@10.10.10.10 'journalctl --user -u openclaw-gateway -f'

Every service follows the same lifecycle through the configuration system:

Set enabled: true in instance.yaml, run generate-plists.sh, then load the LaunchAgent:

Terminal window
launchctl load ~/Library/LaunchAgents/com.sanctum.service-name.plist

A quick-reference table of every port in use across the instance.

PortServiceHost
22SSHVM
80Dench Proxy (reverse proxy)Mac
1234LM StudioMac
3001Command CenterMac
4000LiteLLM ProxyMac
4001LiteLLM AdminMac
8020XTTS TTS ServerMac
8090Voice AgentMac
8123Home AssistantMac (Docker)
8888KiwixMac
8899Council-27B MLXMac
18080Orbi Bridge (HTTP)Mac
18085Orbi Bridge (API)Mac
18092HA SSH TunnelMac -> VM
18094Firewalla BridgeMac
18095Health SSH TunnelMac -> VM
18789DenchClaw GatewayMac
18789OpenClaw GatewayVM
19001Holocron ChatMac
21063HomeKit BridgeMac (Docker)