forked from Eshe/competition-vd
141 lines
2.7 KiB
YAML
Executable File
141 lines
2.7 KiB
YAML
Executable File
version: '3.8'
|
|
|
|
services:
|
|
vulnerability_detector:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: vulnerability_detector:latest
|
|
container_name: vul_detector
|
|
volumes:
|
|
- ./data:/app/data
|
|
- ./outputs:/app/outputs
|
|
environment:
|
|
- NVIDIA_VISIBLE_DEVICES=all
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
count: all
|
|
capabilities: [gpu]
|
|
depends_on:
|
|
- redis
|
|
- postgres
|
|
networks:
|
|
- vul_net
|
|
|
|
data_preprocessor:
|
|
image: vulnerability_detector:latest
|
|
command: python scripts/run_preprocessing.py
|
|
volumes:
|
|
- ./data:/app/data
|
|
depends_on:
|
|
- vulnerability_detector
|
|
networks:
|
|
- vul_net
|
|
|
|
model_trainer:
|
|
image: vulnerability_detector:latest
|
|
command: python scripts/run_training.py
|
|
volumes:
|
|
- ./data:/app/data
|
|
- ./outputs:/app/outputs
|
|
environment:
|
|
- NVIDIA_VISIBLE_DEVICES=all
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
count: all
|
|
capabilities: [gpu]
|
|
depends_on:
|
|
- data_preprocessor
|
|
networks:
|
|
- vul_net
|
|
|
|
evaluator:
|
|
image: vulnerability_detector:latest
|
|
command: python scripts/run_evaluation.py
|
|
volumes:
|
|
- ./data:/app/data
|
|
- ./outputs:/app/outputs
|
|
depends_on:
|
|
- model_trainer
|
|
networks:
|
|
- vul_net
|
|
|
|
dashboard:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.dashboard
|
|
ports:
|
|
- "8050:8050"
|
|
volumes:
|
|
- ./outputs:/app/outputs
|
|
depends_on:
|
|
- evaluator
|
|
networks:
|
|
- vul_net
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- vul_net
|
|
|
|
postgres:
|
|
image: postgres:13
|
|
environment:
|
|
POSTGRES_DB: vuldb
|
|
POSTGRES_USER: vuluser
|
|
POSTGRES_PASSWORD: vulpass
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
networks:
|
|
- vul_net
|
|
|
|
rabbitmq:
|
|
image: rabbitmq:3-management
|
|
ports:
|
|
- "5672:5672"
|
|
- "15672:15672"
|
|
networks:
|
|
- vul_net
|
|
|
|
celery_worker:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.celery
|
|
command: celery -A tasks worker --loglevel=info
|
|
volumes:
|
|
- ./data:/app/data
|
|
- ./outputs:/app/outputs
|
|
depends_on:
|
|
- rabbitmq
|
|
- redis
|
|
networks:
|
|
- vul_net
|
|
|
|
nginx:
|
|
image: nginx:alpine
|
|
ports:
|
|
- "80:80"
|
|
volumes:
|
|
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
|
depends_on:
|
|
- dashboard
|
|
networks:
|
|
- vul_net
|
|
|
|
volumes:
|
|
redis_data:
|
|
postgres_data:
|
|
|
|
networks:
|
|
vul_net:
|
|
driver: bridge |