services: aggregator: build: context: ./aggregator-node container_name: aggregator ports: - "34000:8080" - "34001:5000" environment: - FLWR_PORT=8080 - DMLO_PORT=5000 healthcheck: test: > curl -f -s http://localhost:5000 || [ "$(curl -o /dev/null -s -w '%{http_code}' http://localhost:5000)" -eq 404 ] interval: 30s timeout: 10s retries: 5 restart: unless-stopped pqos: build: context: ./pqos container_name: pqos ports: - "32000:5000" environment: - ENDPOINT=https://webhook.site/9ebcf608-2c9a-4302-87e5-5b477831b6b healthcheck: test: > curl -f -s http://localhost:5000 || [ "$(curl -o /dev/null -s -w '%{http_code}' http://localhost:5000)" -eq 404 ] interval: 30s timeout: 10s retries: 5 restart: unless-stopped nmsender: build: context: ./5g-uulm-network-monitoring/ dockerfile: ./docker/nginx.Dockerfile container_name: nginx ports: - "31000:1935" deploy: resources: limits: cpus: "1.0" restart: unless-stopped # healthcheck: # test: > # ffprobe rtmp://localhost/live/test # interval: 30s # timeout: 10s # retries: 5 server_config: depends_on: aggregator: condition: service_healthy build: context: ./config dockerfile: server_config.Dockerfile container_name: server_config nmcli1: depends_on: server_config: condition: service_completed_successfully nmsender: condition: service_started build: context: ./5g-uulm-network-monitoring/ dockerfile: ./docker/nmcli_default.Dockerfile container_name: nmcli1 ports: - "45000:8000" environment: - RUST_LOG=info - ROCKET_CONFIG=/etc/videoprobe/Rocket.toml - GNSS_DEV=/dev/ttyACM0 - GNSS_ENABLED=false restart: unless-stopped nmcli2: depends_on: server_config: condition: service_completed_successfully nmsender: condition: service_started build: context: ./5g-uulm-network-monitoring/ dockerfile: ./docker/nmcli_default.Dockerfile container_name: nmcli2 ports: - "55000:8000" environment: - RUST_LOG=info - ROCKET_CONFIG=/etc/videoprobe/Rocket.toml - GNSS_DEV=/dev/ttyACM0 - GNSS_ENABLED=false restart: unless-stopped client1_config: depends_on: - nmcli1 - nmcli2 build: context: ./config dockerfile: client_config.Dockerfile environment: - ENDPOINT=http://172.17.0.1:45000 container_name: client1_config # client2_config: # depends_on: # - nmcli2 # build: # context: ./configs # dockerfile: client_config.Dockerfile # environment: # - ENDPOINT: http://172.17.0.1:55000 # container_name: client2_config client1: depends_on: - client1_config build: context: ./obu-node container_name: client1 ports: - "41000:8080" - "41001:5000" - "41002:80" environment: - SERVER_IP_FLWR=172.17.0.1:34000 - SERVER_IP_AGG=172.17.0.1:34001 - CLIENT_ID=1 deploy: resources: limits: cpus: "1.0" restart: unless-stopped client2: depends_on: - client1_config build: context: ./obu-node container_name: client2 ports: - "51000:8080" - "51001:5000" - "51002:80" environment: - SERVER_IP_FLWR=172.17.0.1:34000 - SERVER_IP_AGG=172.17.0.1:34001 - CLIENT_ID=2 deploy: resources: limits: cpus: "1.0" restart: unless-stopped