host: solaria services: node-agent: role: node-stability-monitor deployment_model: docker-compose exposure: local-only offline_required: true depends_on: local: [] external: [] runtime: config_path: /opt/homelab/config/node-agent data_path: /opt/homelab/state logs_path: /opt/homelab/events stability-agent: role: node-watchdog # read-only docker.sock watchdog, emits filesystem events deployment_model: docker-compose exposure: local-only offline_required: true depends_on: local: [] external: [] runtime: data_path: /opt/homelab/state logs_path: /opt/homelab/events node_exporter: role: metrics-exporter deployment_model: docker-compose exposure: local-only offline_required: true depends_on: local: [] external: [] ollama: role: llm-inference # GPU-backed inference (RTX 4070 Ti SUPER, driver restored 2026-07-16): embeddings (bge-m3) + coder models deployment_model: docker-compose exposure: private # Tailscale-only bind (TAILSCALE_BIND_IP) + loopback; consumed by llm-gateway@PIHA over mesh offline_required: false depends_on: local: [] external: [] ports: - name: http container_port: 11434 protocol: tcp runtime: # .env (TAILSCALE_BIND_IP) lives alongside the compose file, matching llm-gateway config_path: services/ollama data_path: /opt/homelab/data/ollama