You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DroneDetector/deploy/docker/docker-compose.yml

106 lines
2.6 KiB
YAML

services:
dronedetector-server-to-master:
container_name: dronedetector-server-to-master
image: dronedetector-server-to-master:latest
build:
context: ../..
dockerfile: deploy/docker/Dockerfile.server_to_master
env_file:
- ../../.env
environment:
- PYTHONPATH=/app
- JAMMER_STATE_FILE=/app/runtime/jammer_active.flag
working_dir: /app
command:
- uvicorn
- src.server_to_master:app
- --host
- 0.0.0.0
- --port
- "5010"
- --reload
- --reload-dir
- /app/src
- --reload-dir
- /app/common
restart: unless-stopped
ports:
- "5010:5010"
volumes:
- ../../.env:/app/.env:ro
- ../../runtime:/app/runtime
- ../../src:/app/src
- ../../common:/app/common
networks:
- dronedetector-net
extra_hosts:
- "host.docker.internal:host-gateway"
dronedetector-nn-server:
container_name: dronedetector-nn-server
image: dronedetector-nn-server:latest
build:
context: ../..
dockerfile: deploy/docker/Dockerfile.nn_server
env_file:
- ../../.env
environment:
- PYTHONPATH=/app:/app/NN_server
- NN_HOT_RELOAD=${NN_HOT_RELOAD:-1}
working_dir: /app/NN_server
command:
- sh
- -lc
- if [ "${NN_HOT_RELOAD:-1}" = "1" ]; then watchmedo auto-restart --recursive --patterns="*.py" --ignore-patterns="*/result/*" -- python3 server.py; else python3 server.py; fi
restart: unless-stopped
depends_on:
- dronedetector-server-to-master
ports:
- "8080:8080"
volumes:
- ../../.env:/app/.env:ro
- ../../NN_server:/app/NN_server
- ../../common:/app/common
- ../../train_scripts:/app/train_scripts:ro
gpus: all
networks:
- dronedetector-net
dronedetector-telemetry-server:
container_name: dronedetector-telemetry-server
image: dronedetector-telemetry-server:latest
build:
context: ../..
dockerfile: deploy/docker/Dockerfile.telemetry_server
env_file:
- ../../.env
environment:
- PYTHONPATH=/app
working_dir: /app
command:
- uvicorn
- telemetry.telemetry_server:app
- --host
- 0.0.0.0
- --port
- "5020"
- --reload
- --reload-dir
- /app/telemetry
- --reload-dir
- /app/common
restart: unless-stopped
ports:
- "5020:5020"
volumes:
- ../../.env:/app/.env:ro
- ../../telemetry:/app/telemetry
- ../../common:/app/common
networks:
- dronedetector-net
networks:
dronedetector-net:
name: dronedetector-net