Files
microdao-daarion/infra/compose/docker-compose.yml
Apple ef3473db21 snapshot: NODE1 production state 2026-02-09
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>
2026-02-09 08:46:46 -08:00

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: