Node Profile Standard v1.0
Date: 2025-11-28
Status: Active
Version: 1.0.0
Overview
Цей документ визначає стандартний профіль ноди в мережі DAARION/DAGI. Кожна нода описується набором модулів, які можуть бути присутні або відсутні залежно від ролі та конфігурації.
Node Identity
Кожна нода має унікальну ідентичність:
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.
Changelog
- v1.0.0 (2025-11-28): Initial standard based on NODE1/NODE2 audit