Files
swarm-master/swarm-common/obsidian-vault/will/will-shared-zap/Infrastructure/Architecture.md
T
2026-05-27 14:31:39 -07:00

5.0 KiB


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:

Current deployment

  • Atlas/Hermes currently runs from Will's host-side ~/.hermes checkout 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:

Recommended reading order:

  1. Master for the whole system
  2. Overview for a lighter top-level pass
  3. Service Topology for runtime and dependencies
  4. 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 index: Ollama nomic-embed-text via sqlite-vec, hybrid BM25 + vector retrieval
  • Index sources: workspace memory/, session transcripts, will/will-shared-zap/ vault

Search / retrieval

  • SearXNG on 18803 for local-first search
  • Brave MCP on 18802 for fallback / second opinion
  • Ollama embeddings on 18807 for memory search

Automation / orchestration

  • Atlas/Hermes runtime: default Hermes profile, host-side ~/.hermes checkout; Telegram/Discord gateway active.
  • Current main interactive session model: gpt-5.5 via openai-codex.
  • Local LLM runtime: llama.cpp on 18806 serving gemma-4-26B-A4B-it-UD-IQ2_M.gguf (Gemma 4 26B GGUF, ctx 32768).
  • n8n-agent: 18808 for scheduled/API-native workflows

Speech / media

  • Whisper server: 18801
  • Kokoro TTS: 18805

Storage / repos

MinIO

  • Bucket: atlas for current Atlas/Hermes laptop backups; legacy zap bucket still exists for older OpenClaw-era artifacts.
  • Purpose: daily ~/.hermes/Atlas backup snapshots via Hermes cron script atlas-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 VM virtiofs mount.
  • 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 18807 is 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-local migration 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.