HALO Architecture Overview
HALO is designed as a local-first, modular platform that coordinates home automation, security, and productivity workflows. The system favors clear boundaries between infrastructure, UI, AI reasoning, and device control.
High-Level Components
- Nexus (Infrastructure): Docker-based runtime, ingress, storage, workflows, and observability
- Omnia (UI + API): Dashboard UI and backend for widgets and profiles
- Apollo (AI): Separate hardware providing LLM reasoning and tool calling
- Home Assistant: Device control and state management
- Frigate: Computer vision and security events
See the Systems section for deep dives into each component.
Networks and Access
- frontnet: Public-facing ingress via Traefik
- appnet: Service-to-service communication
- dbnet: Restricted network for database access
Requests enter via Traefik and are routed to backend services. Real-time messaging uses MQTT and WebSockets where applicable.
Data Flow
- User interacts with Omnia UI (widgets)
- Omnia API/n8n orchestrate workflows and API calls
- Apollo performs reasoning and tool-calls (HA, Frigate, n8n)
- Results and state changes propagate back to UI via APIs/WebSockets
Repositories and Sources of Truth
- HALO (this repo): Public documentation and specs (GitHub Pages)
- Nexus: Deployment, Compose files, service configuration – https://github.com/dcampman/nexus
- Omnia Widget Template: New widget scaffolding – https://github.com/dcampman/omnia-widget-template
For concrete container/service details, consult the Nexus repository docs:
- Containers catalog – https://github.com/dcampman/nexus/blob/main/docs/containers.md
- Architecture notes – https://github.com/dcampman/nexus/blob/main/docs/nexus-architecture.md