Skip to content

DAARION Deployment Overview

Version: 1.0.0
Phase: INFRA β€” All-in-One Gateway
Last Updated: 24 листопада 2025


🎯 Architecture Overview

DAARION uses a microservices architecture with a single NGINX gateway as the entry point.

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   Internet      β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚  NGINX Gateway  β”‚
                    β”‚   (Port 80/443) β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚                   β”‚                   β”‚
    β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”
    β”‚ Frontend β”‚      β”‚ API Routes β”‚    β”‚ WebSockets β”‚
    β”‚  (SPA)   β”‚      β”‚  /api/*    β”‚    β”‚   /ws/*    β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
                             β”‚                   β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
              β”‚              β”‚              β”‚
      β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚ Auth Service β”‚  β”‚DAO Service β”‚ β”‚Living Map  β”‚
      β”‚   :7011      β”‚  β”‚  :7016     β”‚ β”‚  :7017     β”‚
      β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚              β”‚              β”‚
             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                   β”‚  PostgreSQL :5432 β”‚
                   β”‚  NATS :4222       β”‚
                   β”‚  Redis :6379      β”‚
                   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“¦ Services Stack

Infrastructure Services (4)

  • PostgreSQL β€” Database
  • Redis β€” Cache & Sessions
  • NATS β€” Message Bus (JetStream)
  • Matrix Synapse β€” Chat server

Core Services (4)

  • auth-service (7011) β€” Authentication (Passkey)
  • pdp-service (7012) β€” Authorization (PDP)
  • usage-engine (7013) β€” Metrics & Usage tracking
  • messaging-service (7004) β€” Messenger API

Agent Infrastructure (6)

  • agent-runtime (7010) β€” Agent execution
  • agent-filter (7005) β€” Request filtering
  • dagi-router (7006) β€” Routing logic
  • llm-proxy (7007) β€” LLM provider proxy
  • memory-orchestrator (7008) β€” Memory management
  • toolcore (7009) β€” Tool execution

Application Services (6)

  • agents-service (7014) β€” Agent Hub (Phase 6)
  • microdao-service (7015) β€” MicroDAO Console (Phase 7)
  • dao-service (7016) β€” DAO Dashboard (Phase 8)
  • living-map-service (7017) β€” Living Map (Phase 9)
  • city-service (7001) β€” City layer
  • space-service (7002) β€” Space layer

Frontend & Gateway (2)

  • frontend (nginx:80) β€” React SPA
  • gateway (nginx:80/443) β€” Reverse proxy

Total: 23 services behind a single gateway


🌐 API Routes

All services are accessible through the gateway at /api/*:

Service External Route Internal URL
Auth /api/auth/ http://auth-service:7011/
PDP /api/pdp/ http://pdp-service:7012/
Usage /api/usage/ http://usage-engine:7013/
Agents /api/agents/ http://agents-service:7014/
MicroDAO /api/microdao/ http://microdao-service:7015/
DAO /api/dao/ http://dao-service:7016/
Living Map /api/living-map/ http://living-map-service:7017/living-map/
Messaging /api/messaging/ http://messaging-service:7004/
City /api/city/ http://city-service:7001/api/city/
Space /api/space/ http://space-service:7002/api/space/

WebSocket Routes

Service External Route Internal URL
Living Map /ws/living-map/ ws://living-map-service:7017/living-map/stream
Agents Events /ws/agents/ ws://agents-service:7014/ws/agents/stream
Messaging /ws/messaging/ ws://messaging-service:7004/ws

πŸš€ Quick Start (Local Development)

Prerequisites

  • Docker & Docker Compose
  • Node.js 18+
  • PostgreSQL client (psql)

1. Build Frontend

npm install
npm run build

2. Start All Services

./scripts/start-all.sh

This will: - Apply database migrations (001-010) - Build all Docker images - Start all services - Configure NGINX gateway

3. Access

  • Frontend: http://localhost
  • API: http://localhost/api/
  • Health: http://localhost/health

4. Stop Services

./scripts/stop-all.sh

πŸ“ Project Structure

daarion/
β”œβ”€β”€ docker-compose.all.yml      # All-in-one compose
β”œβ”€β”€ Dockerfile.frontend         # Frontend build
β”œβ”€β”€ nginx/
β”‚   β”œβ”€β”€ all-in-one.conf        # Gateway config
β”‚   └── frontend.conf          # Frontend nginx
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ start-all.sh           # Start script
β”‚   └── stop-all.sh            # Stop script
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ auth-service/
β”‚   β”œβ”€β”€ dao-service/
β”‚   β”œβ”€β”€ living-map-service/
β”‚   └── ... (20+ services)
β”œβ”€β”€ migrations/
β”‚   β”œβ”€β”€ 001_create_users_and_auth.sql
β”‚   β”œβ”€β”€ ...
β”‚   └── 010_create_living_map_tables.sql
└── src/                        # Frontend source

πŸ”’ Security

Authentication

  • Passkey (WebAuthn) for users
  • Internal tokens for service-to-service

Authorization

  • PDP (Policy Decision Point) for all requests
  • Role-based access control (RBAC)
  • Resource-level permissions

Network

  • All services in private network
  • Only gateway exposed to internet
  • No direct service access from outside

πŸ“Š Monitoring & Logs

View Logs

# All services
docker-compose -f docker-compose.all.yml logs -f

# Specific service
docker-compose -f docker-compose.all.yml logs -f gateway
docker-compose -f docker-compose.all.yml logs -f living-map-service

Health Checks

  • Gateway: http://localhost/health
  • Individual services: Health checks in docker-compose

Metrics

  • Usage Engine collects all LLM/Agent metrics
  • Available through /api/usage/

πŸ”§ Configuration

Environment Variables

All services use: - DATABASE_URL β€” PostgreSQL connection - NATS_URL β€” NATS connection - REDIS_URL β€” Redis connection - Service-specific URLs (e.g., AUTH_SERVICE_URL)

Volumes

  • postgres_data β€” Database persistence
  • nats_data β€” NATS JetStream storage
  • redis_data β€” Redis persistence
  • matrix_data β€” Matrix Synapse data

πŸ› Troubleshooting

Services not starting

# Check logs
docker-compose -f docker-compose.all.yml logs

# Check specific service
docker-compose -f docker-compose.all.yml ps

Database connection issues

# Check if postgres is healthy
docker-compose -f docker-compose.all.yml ps postgres

# Connect to postgres
docker exec -it daarion-postgres psql -U postgres -d daarion

Frontend not loading

# Rebuild frontend
npm run build

# Restart gateway
docker-compose -f docker-compose.all.yml restart gateway

API routes not working

  1. Check nginx config: nginx/all-in-one.conf
  2. Check if service is running: bash docker-compose -f docker-compose.all.yml ps [service-name]
  3. Check service logs

πŸ“ˆ Scaling

Horizontal Scaling

For production, you can scale services:

docker-compose -f docker-compose.all.yml up -d --scale living-map-service=3

Load Balancing

Update nginx config to use multiple backends:

upstream living_map_service {
    server living-map-service-1:7017;
    server living-map-service-2:7017;
    server living-map-service-3:7017;
}

🌍 Production Deployment

See DEPLOY_ON_SERVER.md for: - Server setup - Domain configuration - SSL/TLS certificates - Environment variables - Backup strategy


  • Infrastructure: INFRASTRUCTURE.md
  • Quick Reference: docs/infrastructure_quick_ref.ipynb
  • Phase 9A: PHASE9A_BACKEND_READY.md
  • Phase 9B: PHASE9B_LITE_2D_READY.md
  • Server Deployment: DEPLOY_ON_SERVER.md

πŸŽ‰ DAARION β€” Unified Gateway Ready!