# Docker Compose configuration for {{ lab_name }} node hosts
#
# This file is used on remote hosts to run instrument nodes that
# connect back to the centralized manager services.
#
# Usage:
#   MANAGER_HOST=<ip> docker compose -f compose.nodes.yaml up -d
#
# Generated by: madsci new lab --template distributed
# Template version: {{ template_version }}

services:
  # Example node service - replace with your actual instrument nodes
  example_node:
    image: madsci-example-node:latest
    environment:
      - NODE_URL=http://0.0.0.0:2000/
      - EVENT_SERVER_URL=http://${MANAGER_HOST:-localhost}:8001/
      - WORKCELL_SERVER_URL=http://${MANAGER_HOST:-localhost}:8005/
      - RESOURCE_SERVER_URL=http://${MANAGER_HOST:-localhost}:8003/
      - LOCATION_SERVER_URL=http://${MANAGER_HOST:-localhost}:8006/
    ports:
      - "2000:2000"
    # Uncomment for USB device access:
    # devices:
    #   - /dev/ttyUSB0:/dev/ttyUSB0
    # Uncomment for GPU access:
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - capabilities: [gpu]
