Complete snapshot of /opt/microdao-daarion/ from NODE1 (144.76.224.179).
This represents the actual running production code that has diverged
significantly from the previous main branch.
Key changes from old main:
- Gateway (http_api.py): expanded from ~40KB to 164KB with full agent support
- Router: new /v1/agents/{id}/infer endpoint with vision + DeepSeek routing
- Behavior Policy: SOWA v2.2 (3-level: FULL/ACK/SILENT)
- Agent Registry: config/agent_registry.yml as single source of truth
- 13 agents configured (was 3)
- Memory service integration
- CrewAI teams and roles
Excluded from snapshot: venv/, .env, data/, backups, .tgz archives
Co-authored-by: Cursor <cursoragent@cursor.com>
113 lines
2.9 KiB
YAML
113 lines
2.9 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
nats:
|
|
image: nats:2.10
|
|
command: ["-js", "-m", "8222"]
|
|
ports:
|
|
- "4222:4222"
|
|
- "8222:8222"
|
|
profiles: ["nats"]
|
|
|
|
mqtt:
|
|
image: eclipse-mosquitto:2.0
|
|
ports:
|
|
- "1883:1883"
|
|
- "9001:9001"
|
|
volumes:
|
|
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf:ro
|
|
profiles: ["mqtt"]
|
|
|
|
redis:
|
|
image: redis:7.2
|
|
ports:
|
|
- "6379:6379"
|
|
profiles: ["integration"]
|
|
|
|
farmos-db:
|
|
image: postgres:15
|
|
environment:
|
|
POSTGRES_DB: ${FARMOS_DB_NAME:-farmos}
|
|
POSTGRES_USER: ${FARMOS_DB_USER:-farmos}
|
|
POSTGRES_PASSWORD: ${FARMOS_DB_PASSWORD:-farmos}
|
|
volumes:
|
|
- farmos_db:/var/lib/postgresql/data
|
|
profiles: ["farmos"]
|
|
|
|
farmos:
|
|
image: farmos/farmos:latest
|
|
depends_on:
|
|
- farmos-db
|
|
environment:
|
|
FARMOS_DB_HOST: farmos-db
|
|
FARMOS_DB_NAME: ${FARMOS_DB_NAME:-farmos}
|
|
FARMOS_DB_USER: ${FARMOS_DB_USER:-farmos}
|
|
FARMOS_DB_PASSWORD: ${FARMOS_DB_PASSWORD:-farmos}
|
|
FARMOS_BASE_URL: ${FARMOS_BASE_URL:-http://localhost:8080}
|
|
profiles: ["farmos"]
|
|
|
|
thingsboard:
|
|
image: thingsboard/tb-postgres:latest
|
|
ports:
|
|
- "8081:8080"
|
|
environment:
|
|
TB_QUEUE_TYPE: ${TB_QUEUE_TYPE:-inmemory}
|
|
profiles: ["thingsboard"]
|
|
|
|
integration-service:
|
|
build:
|
|
context: ../../services/integration-service
|
|
dockerfile: Dockerfile
|
|
environment:
|
|
PORT: ${INTEGRATION_PORT:-8800}
|
|
LOG_LEVEL: ${LOG_LEVEL:-info}
|
|
NATS_URL: ${NATS_URL:-nats://nats:4222}
|
|
REDIS_URL: ${REDIS_URL:-redis://redis:6379}
|
|
FARMOS_BASE_URL: ${FARMOS_BASE_URL:-http://farmos}
|
|
FARMOS_TOKEN: ${FARMOS_TOKEN:-}
|
|
FARMOS_USER: ${FARMOS_USER:-}
|
|
FARMOS_PASSWORD: ${FARMOS_PASSWORD:-}
|
|
THINGSBOARD_BASE_URL: ${THINGSBOARD_BASE_URL:-http://thingsboard:8080}
|
|
THINGSBOARD_TOKEN: ${THINGSBOARD_TOKEN:-}
|
|
AGX_HMAC_SECRET: ${AGX_HMAC_SECRET:-}
|
|
AGX_HMAC_REQUIRED: ${AGX_HMAC_REQUIRED:-true}
|
|
AGX_HMAC_WINDOW_SECONDS: ${AGX_HMAC_WINDOW_SECONDS:-300}
|
|
AGX_RATE_LIMIT_PER_MIN: ${AGX_RATE_LIMIT_PER_MIN:-120}
|
|
DLQ_ENABLED: ${DLQ_ENABLED:-true}
|
|
MAPPING_PATH: ${MAPPING_PATH:-/app/config/mappings.json}
|
|
ports:
|
|
- "8800:8800"
|
|
depends_on:
|
|
- nats
|
|
- redis
|
|
- farmos
|
|
volumes:
|
|
- integration_data:/data
|
|
profiles: ["integration"]
|
|
|
|
farmos_ui_proxy:
|
|
image: caddy:2
|
|
depends_on:
|
|
- farmos
|
|
environment:
|
|
FARMOS_UPSTREAM: ${FARMOS_UPSTREAM:-http://farmos}
|
|
FARMOS_UI_USER: ${FARMOS_UI_USER:-admin}
|
|
FARMOS_UI_PASS_HASH: ${FARMOS_UI_PASS_HASH:-}
|
|
volumes:
|
|
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
|
ports:
|
|
- "127.0.0.1:${FARMOS_UI_PORT:-18080}:8080"
|
|
profiles: ["farmos_ui"]
|
|
|
|
litefarm:
|
|
image: litefarmorg/litefarm:latest
|
|
profiles: ["litefarm"]
|
|
|
|
tania:
|
|
image: usetania/tania-core:latest
|
|
profiles: ["tania"]
|
|
|
|
volumes:
|
|
farmos_db:
|
|
integration_data:
|