5.0 KiB
5.0 KiB
title: Architecture area: infrastructure tags: [infrastructure, homelab, assistant, integrations, automation, diagrams] created: 2026-03-18 updated: 2026-05-27 status: active related: Infrastructure/Services/Docker Services, Infrastructure/Automation/Cron Jobs, Infrastructure/Automation/n8n Workflows
Architecture
High-level map of Will's homelab + assistant stack. For operational details (IPs, credential paths, commands), see TOOLS.md in the assistant workspace.
Operational note: current vault path is /home/will/lab/swarm/swarm-common/obsidian-vault/will/will-shared-zap on the host btrfs filesystem. Older notes about a VM virtiofs mount and claw/openclaw ownership are historical unless the VM is re-enabled.
See sub-notes for details:
- Infrastructure/Services/Docker Services
- Infrastructure/Automation/Cron Jobs
- Infrastructure/Automation/n8n Workflows
Current deployment
- Atlas/Hermes currently runs from Will's host-side
~/.hermescheckout on the laptop; older OpenClaw VM notes are historical. - OpenClaw VM infrastructure is intentionally dormant unless Will re-enables it.
- Shared note workspace lives in
will/will-shared-zap/inside the Obsidian vault tree.
Networking
- Primary host LAN IPs:
192.168.153.130,192.168.153.141 - Tailscale IP:
100.123.88.127 - Previous host LAN IPs:
192.168.153.113,192.168.153.117 - Separate MinIO endpoint:
192.168.153.253:9000
Diagram set
Primary diagram:
Supporting views:
- Infrastructure/Architecture - Overview.canvas
- Infrastructure/Architecture - Service Topology.canvas
- Infrastructure/Architecture - Automation Flow.canvas
Recommended reading order:
- Master for the whole system
- Overview for a lighter top-level pass
- Service Topology for runtime and dependencies
- Automation Flow for messaging, memory, backups, and orchestration
Why Canvas: it gives much better layout control in Obsidian than Mermaid for this kind of infra map, and it avoids the clipping/rendering issues we kept hitting.
Core service layers
Memory / search
- Memory index: Ollama
nomic-embed-textvia sqlite-vec, hybrid BM25 + vector retrieval - Index sources: workspace
memory/, session transcripts,will/will-shared-zap/vault
Search / retrieval
- SearXNG on
18803for local-first search - Brave MCP on
18802for fallback / second opinion - Ollama embeddings on
18807for memory search
Automation / orchestration
- Atlas/Hermes runtime: default Hermes profile, host-side
~/.hermescheckout; Telegram/Discord gateway active. - Current main interactive session model:
gpt-5.5viaopenai-codex. - Local LLM runtime: llama.cpp on
18806servinggemma-4-26B-A4B-it-UD-IQ2_M.gguf(Gemma 4 26B GGUF, ctx 32768). - n8n-agent:
18808for scheduled/API-native workflows
Speech / media
- Whisper server:
18801 - Kokoro TTS:
18805
Storage / repos
MinIO
- Bucket:
atlasfor current Atlas/Hermes laptop backups; legacyzapbucket still exists for older OpenClaw-era artifacts. - Purpose: daily
~/.hermes/Atlas backup snapshots via Hermes cron scriptatlas-backup-to-minio-cron.sh - Accessed at
192.168.153.253:9000
Gitea
- Repo host:
gitea-gitea-ssh.taildb3494.ts.net - Swarm repo:
will/swarm-master.git - Atlas/Hermes repo: Gitea
will/atlas-code(authoritative) with upstream GitHub mirror/backup as documented in Hermes memory.
Kubernetes
- Small Raspberry Pi cluster
- Shared namespace:
swarm - Keep workloads lightweight and scoped
Key integrations
- Telegram: primary interrupt / reminder / mobile channel
- Discord: deeper technical work and scoped threads
- Obsidian: shared vault
will/will-shared-zap/at/home/will/lab/swarm/swarm-common/obsidian-vault/will/will-shared-zap; currently on host btrfs, not a VMvirtiofsmount. - Google Workspace: Gmail / Calendar / Drive via Hermes/Google Workspace tooling; old
gog/OpenClaw paths in historical notes may be stale.
Operating decisions worth keeping
- Search: SearXNG first, then Brave-backed fallback only when needed
- n8n vs cron: use n8n when it has the right native node or API path, keep shell-heavy local tasks in OpenClaw or OS cron
- Shared vault is human-readable layer; workspace memory remains source of truth
Local model provider notes
- Date checked: 2026-05-27
- Current direct local model endpoint:
http://127.0.0.1:18806/v1/http://192.168.153.130:18806/v1. - Current served model id from
/v1/models:gemma-4-26B-A4B-it-UD-IQ2_M.gguf. - Ollama on
18807is for embeddings (nomic-embed-text) and also has older chat models installed; do not describe the direct local LLM as Gemma 3. - The 2026-04-15 OpenClaw
local/gemma-3-12b-localmigration was historical and should not be used as current Atlas/Hermes config guidance. - Verify with:
curl -s http://127.0.0.1:18806/v1/models.