|
| 1 | +# SPDX-FileCopyrightText: (C) 2025 - 2026 Intel Corporation |
| 2 | +# SPDX-License-Identifier: Apache-2.0 |
| 3 | + |
| 4 | +networks: |
| 5 | + scenescape-test: |
| 6 | + |
| 7 | +secrets: |
| 8 | + root-cert: |
| 9 | + file: ${SECRETSDIR}/certs/scenescape-ca.pem |
| 10 | + django: |
| 11 | + file: ${SECRETSDIR}/django |
| 12 | + controller-auth-file: |
| 13 | + file: manager/secrets/controller.auth |
| 14 | + |
| 15 | +services: |
| 16 | + tracker: |
| 17 | + image: scenescape-tracker:${VERSION:-latest} |
| 18 | + networks: |
| 19 | + scenescape-test: |
| 20 | + aliases: |
| 21 | + - tracker.scenescape.intel.com |
| 22 | + user: "10001:10001" |
| 23 | + depends_on: |
| 24 | + broker: |
| 25 | + condition: service_started |
| 26 | + web: |
| 27 | + condition: service_healthy |
| 28 | + environment: |
| 29 | + - TRACKER_LOG_LEVEL=info |
| 30 | + - TRACKER_MQTT_HOST=broker.scenescape.intel.com |
| 31 | + - TRACKER_MQTT_PORT=1883 |
| 32 | + - TRACKER_MQTT_INSECURE=false |
| 33 | + - TRACKER_MQTT_TLS_CA_CERT=/run/secrets/certs/scenescape-ca.pem |
| 34 | + - TRACKER_MQTT_TLS_VERIFY_SERVER=true |
| 35 | + - TRACKER_MANAGER_URL=https://web.scenescape.intel.com |
| 36 | + - TRACKER_MANAGER_AUTH_PATH=/run/secrets/controller.auth |
| 37 | + - TRACKER_MANAGER_CA_CERT_PATH=/run/secrets/certs/scenescape-ca.pem |
| 38 | + - TRACKER_SCENES_SOURCE=api |
| 39 | + # Override host proxy settings - Paho MQTT dont respect no_proxy var, so as a WA |
| 40 | + # tracker code detects empty vars and unsets them (see proxy_utils.cpp clearEmptyProxyEnvVars) |
| 41 | + - http_proxy= |
| 42 | + - https_proxy= |
| 43 | + - HTTP_PROXY= |
| 44 | + - HTTPS_PROXY= |
| 45 | + secrets: |
| 46 | + - source: root-cert |
| 47 | + target: certs/scenescape-ca.pem |
| 48 | + - source: controller-auth-file |
| 49 | + target: /run/secrets/controller.auth |
| 50 | + read_only: true |
| 51 | + cap_drop: |
| 52 | + - ALL |
| 53 | + security_opt: |
| 54 | + - no-new-privileges:true |
| 55 | + # Exit 0: graceful stop or non-retryable error (bad auth) — stay stopped |
| 56 | + # Exit 1: retryable error (broker unavailable) — restart |
| 57 | + # Exit 99: scene update received — restart to reload config |
| 58 | + restart: on-failure |
| 59 | + mem_limit: ${TRACKER_MEM_LIMIT:-512m} |
| 60 | + # Scale: ~1 CPU per 100 tracked objects. Increase TRACKER_CPUS for larger deployments. |
| 61 | + cpus: ${TRACKER_CPUS:-2.0} |
| 62 | + pids_limit: 1000 |
0 commit comments