Files
microdao-daarion/docs/NODE_PROFILE_STANDARD_v1.md
2026-02-16 02:40:49 -08:00

13 KiB
Raw Blame History

Node Profile Standard v1.0

Date: 2025-11-28
Status: Active
Version: 1.0.0


Overview

Цей документ визначає стандартний профіль ноди в мережі DAARION/DAGI. Кожна нода описується набором модулів, які можуть бути присутні або відсутні залежно від ролі та конфігурації.


Node Identity

Кожна нода має унікальну ідентичність:

{
  "node_id": "node-1-hetzner-gex44",
  "name": "Hetzner GEX44 Production",
  "roles": ["core", "gateway", "matrix", "agents", "gpu"],
  "type": "production",
  "ip_address": "144.76.224.179",
  "local_ip": null,
  "hostname": "gateway.daarion.city",
  "status": "online",
  "version": "1.0.0"
}

Standard Modules

1. Core Modules (Required)

Module ID Description Required
core.node Node identity, roles, version, uptime Yes
core.health Basic health check endpoint Yes

2. Infrastructure Modules

Module ID Description Port Required
infra.metrics CPU, RAM, Disk, GPU metrics - Recommended
infra.postgres PostgreSQL database 5432 Optional
infra.redis Redis cache 6379 Optional
infra.nats NATS message broker 4222 Optional
infra.qdrant Qdrant vector DB 6333 Optional
infra.neo4j Neo4j graph DB 7474/7687 Optional

3. AI/ML Modules

Module ID Description Port Required
ai.ollama Ollama LLM runtime 11434 Optional
ai.swapper Model swapper service 8890 Optional
ai.router DAGI Router 9102 Optional
ai.stt Speech-to-Text 8895 Optional
ai.tts Text-to-Speech 5002 Optional
ai.vision Vision/Image processing - Optional
ai.ocr OCR service 8896 Optional
ai.image_gen Image generation 9600 Optional
ai.rag RAG service - Optional
ai.memory Memory service 8001 Optional
ai.crewai CrewAI orchestration 9010 Optional

4. DAARION Stack Modules

Module ID Description Port Required
daarion.web Frontend (Next.js) 3000 Optional
daarion.city City Service 7001 Optional
daarion.agents Agents Service 7002 Optional
daarion.auth Auth Service 7020 Optional
daarion.secondme Second Me Service 7003 Optional
daarion.microdao MicroDAO Service 7015 Optional

5. Matrix Modules

Module ID Description Port Required
matrix.synapse Matrix Synapse homeserver 8008/8018 Optional
matrix.element Element Web client 8088 Optional
matrix.gateway Matrix Gateway 7025 Optional
matrix.presence Presence Aggregator 8085 Optional

6. DAGI Infrastructure Modules

Module ID Description Port Required
dagi.gateway DAGI Gateway 9300 Optional
dagi.rbac RBAC Service 9200 Optional
dagi.devtools DevTools 8008 Optional
dagi.registry Node Registry 9205 Optional
dagi.parser Parser Service 9400 Optional

7. Monitoring Modules

Module ID Description Port Required
monitoring.prometheus Prometheus 9090 Optional
monitoring.grafana Grafana 3001 Optional
monitoring.loki Loki logs - Optional

8. External Integrations

Module ID Description Port Required
integration.telegram Telegram Bot API 8081 Optional
integration.web_search Web Search Service 8897 Optional

Module Status Values

Status Description
up Module is running and healthy
down Module is not running
degraded Module is running but with issues
unknown Status cannot be determined
not_installed Module is not installed on this node

Node Profiles

Production Node (NODE1)

{
  "node_id": "node-1-hetzner-gex44",
  "name": "Hetzner GEX44 Production",
  "roles": ["core", "gateway", "matrix", "agents", "gpu"],
  "type": "production",
  "gpu": {
    "name": "NVIDIA RTX 4000 SFF Ada",
    "vram_gb": 20
  },
  "modules": [
    {"id": "core.node", "status": "up"},
    {"id": "core.health", "status": "up"},
    {"id": "infra.metrics", "status": "up"},
    {"id": "infra.postgres", "status": "up", "port": 5432},
    {"id": "infra.redis", "status": "up", "port": 6379},
    {"id": "infra.nats", "status": "up", "port": 4222},
    {"id": "infra.qdrant", "status": "up", "port": 6333},
    {"id": "infra.neo4j", "status": "up", "port": 7474},
    {"id": "ai.ollama", "status": "up", "port": 11434, "models": ["mistral:7b"]},
    {"id": "ai.swapper", "status": "degraded", "port": 8890},
    {"id": "ai.router", "status": "up", "port": 9102},
    {"id": "ai.stt", "status": "degraded", "port": 8895},
    {"id": "ai.tts", "status": "up", "port": 5002},
    {"id": "ai.ocr", "status": "degraded", "port": 8896},
    {"id": "ai.image_gen", "status": "degraded", "port": 9600},
    {"id": "ai.memory", "status": "up", "port": 8001},
    {"id": "ai.crewai", "status": "up", "port": 9010},
    {"id": "daarion.web", "status": "up", "port": 3000},
    {"id": "daarion.city", "status": "up", "port": 7001},
    {"id": "daarion.agents", "status": "up", "port": 7002},
    {"id": "daarion.auth", "status": "up", "port": 7020},
    {"id": "daarion.secondme", "status": "up", "port": 7003},
    {"id": "daarion.microdao", "status": "up", "port": 7015},
    {"id": "matrix.synapse", "status": "up", "port": 8018},
    {"id": "matrix.element", "status": "up", "port": 8088},
    {"id": "matrix.gateway", "status": "up", "port": 7025},
    {"id": "matrix.presence", "status": "up", "port": 8085},
    {"id": "dagi.gateway", "status": "up", "port": 9300},
    {"id": "dagi.rbac", "status": "up", "port": 9200},
    {"id": "dagi.devtools", "status": "up", "port": 8008},
    {"id": "dagi.registry", "status": "up", "port": 9205},
    {"id": "dagi.parser", "status": "up", "port": 9400},
    {"id": "monitoring.prometheus", "status": "up", "port": 9090},
    {"id": "integration.telegram", "status": "up", "port": 8081}
  ]
}

Development Node (NODE2)

{
  "node_id": "node-2-macbook-m4max",
  "name": "MacBook Pro M4 Max",
  "roles": ["development", "gpu", "ai_runtime"],
  "type": "development",
  "gpu": {
    "name": "Apple M4 Max",
    "unified_memory_gb": 128
  },
  "modules": [
    {"id": "core.node", "status": "up"},
    {"id": "core.health", "status": "up"},
    {"id": "infra.postgres", "status": "up", "port": 5432},
    {"id": "infra.qdrant", "status": "up", "port": 6333},
    {"id": "ai.ollama", "status": "up", "port": 11434, "models": [
      "deepseek-r1:70b", "deepseek-coder:33b", "qwen2.5-coder:32b",
      "gemma2:27b", "mistral-nemo:12b", "llava:13b", "phi3:latest",
      "starcoder2:3b", "gpt-oss:latest"
    ]},
    {"id": "ai.swapper", "status": "up", "port": 8890},
    {"id": "ai.router", "status": "up", "port": 9102},
    {"id": "ai.stt", "status": "up", "port": 8895},
    {"id": "ai.ocr", "status": "up", "port": 8896},
    {"id": "dagi.gateway", "status": "up", "port": 9300},
    {"id": "dagi.rbac", "status": "up", "port": 9200},
    {"id": "dagi.devtools", "status": "up", "port": 8008},
    {"id": "dagi.crewai", "status": "up", "port": 9010},
    {"id": "integration.web_search", "status": "up", "port": 8897}
  ]
}

Service Inventory

NODE1 Services (35 containers)

Service Image Port Status Stack
dagi-router dagi-router:latest 9102 up DAGI
daarion-agents-service daarion-agents-service:latest 7002 up DAARION
daarion-web daarion-web:latest 3000 up DAARION
matrix-presence-aggregator matrix-presence-aggregator:latest 8085 up DAARION
daarion-city-service microdao-daarion-city-service:latest 7001 up DAARION
dagi-node-registry microdao-daarion-node-registry:latest 9205 up DAGI
daarion-matrix-gateway daarion-matrix-gateway:latest 7025 up DAARION
daarion-auth daarion-auth 7020 up DAARION
daarion-synapse matrixdotorg/synapse:latest 8018 up Matrix
daarion-element vectorim/element-web:latest 8088 up Matrix
daarion-secondme-service daarion-secondme-service:latest 7003 up DAARION
daarion-microdao-service daarion-microdao-service:latest 7015 up DAARION
daarion-redis redis:7-alpine 6379 up Infra
dagi-gateway microdao-daarion-gateway 9300 up DAGI
dagi-rbac microdao-daarion-rbac 9200 up DAGI
dagi-devtools microdao-daarion-devtools 8008 up DAGI
dagi-crewai microdao-daarion-crewai 9010 up DAGI
dagi-stt-service stt-service-stt-service 8895 degraded DAGI
telegram-gateway telegram-infrastructure-telegram-gateway 8000 up Integration
dagi-tts daarion-tts:latest 5002 up DAGI
dagi-swapper-service microdao-daarion-swapper-service 8890 degraded DAGI
dagi-vector-db-service vector-db-service-vector-db-service - restarting DAGI
dagi-ocr-service ocr-service-ocr-service 8896 degraded DAGI
dagi-web-search-service web-search-service-web-search-service 8897 degraded DAGI
dagi-postgres pgvector/pgvector:pg15 5432 up Infra
dagi-memory-service microdao-daarion-memory-service 8001 up DAGI
dagi-neo4j-exporter microdao-daarion-neo4j-exporter 9108 up Monitoring
dagi-neo4j neo4j:5.15-community 7474/7687 up Infra
dagi-nats nats:2-alpine 4222 up Infra
dagi-image-gen microdao-daarion-image-gen-service 9600 degraded DAGI
dagi-rag-service microdao-daarion-rag-service - restarting DAGI
dagi-qdrant qdrant/qdrant:v1.7.4 6333 up Infra
dagi-prometheus prom/prometheus:latest 9090 up Monitoring
dagi-parser-service microdao-daarion-parser-service 9400 up DAGI
telegram-bot-api aiogram/telegram-bot-api:latest 8081 up Integration

Systemd Services:

  • ollama.service — Ollama LLM runtime (port 11434)
  • k3s.service — Lightweight Kubernetes
  • nvidia-persistenced.service — NVIDIA GPU daemon

GPU: NVIDIA RTX 4000 SFF Ada Generation (20GB VRAM)

NODE2 Services (13 containers)

Service Image Port Status Stack
ocr-service ocr-service:latest 8896 up DAGI
dagi-stt-service stt-service-stt-service 8895 up DAGI
swapper-service swapper-service:latest 8890 up DAGI
dagi-web-search-service web-search-service-web-search-service 8897 degraded DAGI
dagi-postgres postgres:15-alpine 5432 up Infra
dagi-gateway microdao-daarion-gateway 9300 up DAGI
dagi-router microdao-daarion-router 9102 up DAGI
dagi-crewai microdao-daarion-crewai 9010 up DAGI
dagi-devtools microdao-daarion-devtools 8008 up DAGI
dagi-rbac microdao-daarion-rbac 9200 up DAGI
jupyter-lab jupyter/datascience-notebook:latest 8888 up Dev
qdrant-vector-db qdrant/qdrant:latest 6333 up Infra
meilisearch-search getmeili/meilisearch:v1.11 7700 up Infra

Ollama Models (9):

  • deepseek-r1:70b (42 GB)
  • deepseek-coder:33b (18 GB)
  • qwen2.5-coder:32b (19 GB)
  • gemma2:27b (15 GB)
  • mistral-nemo:12b (7 GB)
  • llava:13b (8 GB)
  • phi3:latest (2 GB)
  • starcoder2:3b (2 GB)
  • gpt-oss:latest (13 GB)

GPU: Apple M4 Max (128GB Unified Memory)


API Contract

Node Dashboard Endpoint

GET /node/dashboard

Returns aggregated dashboard data for the current node.

{
  "node": {
    "id": "node-1-hetzner-gex44",
    "name": "Hetzner GEX44 Production",
    "status": "online",
    "uptime_seconds": 604800,
    "version": "1.0.0"
  },
  "resources": {
    "cpu_usage_pct": 37.5,
    "ram": {"total_gb": 64, "used_gb": 43},
    "gpu": {"name": "NVIDIA RTX 4000 SFF Ada", "vram_gb": 20, "used_gb": 18},
    "disk": {"total_gb": 4000, "used_gb": 2200}
  },
  "modules": [
    {"id": "ai.router", "status": "up", "port": 9102, "latency_ms": 23},
    {"id": "ai.swapper", "status": "up", "port": 8890, "active_model": "mistral:7b"},
    ...
  ],
  "agents": {
    "total": 54,
    "online": 53,
    "by_kind": {"vision": 4, "developer": 5, ...}
  }
}

Changelog

  • v1.0.0 (2025-11-28): Initial standard based on NODE1/NODE2 audit