services: tracker-hub: build: . container_name: esp32_tracker_hub restart: unless-stopped ports: # Default: local-only. Set HUB_BIND_IP explicitly for a NAS/LAN proxy. - ${HUB_BIND_IP:-127.0.0.1}:4000:8000 volumes: - ./data_logs:/app/data_logs - ./firmware:/app/firmware - ./state:/app/state - /etc/localtime:/etc/localtime:ro environment: - PYTHONUNBUFFERED=1 - TZ=Etc/GMT+6 - STATE_DIR=/app/state - PRIMARY_DEVICE_ID=${PRIMARY_DEVICE_ID:-} - ALLOWED_ORIGINS=${ALLOWED_ORIGINS:-https://micro.ferrasdh.uk,http://localhost:4000,http://127.0.0.1:4000} # Public base URL the ESP32 uses to download firmware over HTTPS. # Must be reachable from the tracker's network (defaults to the WSS host). - OTA_PUBLIC_URL=${OTA_PUBLIC_URL:-https://micro.ferrasdh.uk} logging: driver: json-file options: max-size: "10m" max-file: "3" networks: - npm networks: npm: external: true name: ix-nginx-proxy-manager_default