services: train: build: context: ./train dockerfile: Dockerfile volumes: - ./data:/data - ./models:/models deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] environment: - NVIDIA_VISIBLE_DEVICES=1 - CUDA_VISIBLE_DEVICES=1 - DATA_DIR=/data/synthetic - MODEL_DIR=/models - NUM_SAMPLES=50000 - EPOCHS=100 - BATCH_SIZE=64 - LEARNING_RATE=0.001 - DETECTOR=radiacode_103 - MIN_DURATION=43200 - MAX_DURATION=86400 - SEED=42 detect: build: context: ./detect dockerfile: Dockerfile volumes: - ./models:/models:ro - ./logs:/logs - ./data:/data devices: - /dev/bus/usb:/dev/bus/usb privileged: true environment: - MODEL_PATH=/models/vega_best.pt - ISOTOPE_INDEX_PATH=/models/vega_isotope_index.txt - BACKGROUND_PATH=/data/background_24h.npy - VEGA_ML_PATH=/models/vega_ml - VEGA_DEVICE=cpu - LOG_DIR=/logs - SAMPLE_INTERVAL=60 - REPORT_HOUR=0 - MIN_LIVE_TIME=3600 - THRESHOLD=0.5 depends_on: train: condition: service_completed_successfully restart: unless-stopped