services: agap-mcp: build: . restart: unless-stopped network_mode: host environment: - PORT=3100 - NODE_TLS_REJECT_UNAUTHORIZED=0 - HTTPS_PROXY= - HTTP_PROXY= - ALL_PROXY= - https_proxy= - http_proxy= - all_proxy= - BITWARDENCLI_APPDATA_DIR=/bw-data - BW_EMAIL=adolf46@proton.me - BW_PASSWORD=${BW_PASSWORD} - VAULTWARDEN_URL=http://localhost:8041 - GITEA_URL=http://localhost:3000 - HA_URL=http://192.168.1.4:8123 - ZABBIX_URL=http://192.168.1.4:81 - RADICALE_URL=http://localhost:5232 - RADICALE_USER=alvis # kb#147 (A2A-15) — vault trust gate, OFF by default (0). Flipping this # to 1 requires a container restart AND real values for # AGENT_REGISTRY_PATH/AGAP_MCP_AGENT_TOKENS below to be populated first # (see src/trust-gate.js) — that restart is the deliberate handover # step this task does NOT perform (never restart the live agap-mcp # service unattended). Until both are set, vw_* tools behave exactly # as before this change. - AGAP_MCP_ENFORCE_VAULT_TRUST=0 - AGENT_REGISTRY_PATH=/agent-registry.yaml # JSON map {"": ""}. Real per-agent tokens must # be generated, stored in Vaultwarden (e.g. AGAP_MCP_TOKEN_ADOLF, # AGAP_MCP_TOKEN_CLAUDE_CODER), and referenced here via .env — never # inlined in this committed file. Empty object = no caller resolves to # any agent, i.e. fail-closed once ENFORCE is turned on. - AGAP_MCP_AGENT_TOKENS=${AGAP_MCP_AGENT_TOKENS:-{}} volumes: - /home/alvis/.config/Bitwarden CLI:/bw-data # Read-only: agent-registry.yaml is the version-controlled source of # truth for trust classes (kb#134/kb#147) — mounted, never copied, so # a registry edit takes effect on container restart with no rebuild. - /home/alvis/agap_git/openai/agent-registry.yaml:/agent-registry.yaml:ro