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=32 - LEARNING_RATE=0.001 - DETECTOR=radiacode_103 - MIN_DURATION=30 - MAX_DURATION=300 - SEED=42 - MEASURED_BACKGROUND_PATH=/data/background_24h.npy restart: "no" 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 - STATE_PATH=/data/monitor_state.json - CPS_LOG_PATH=/data/cps_log.jsonl - 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 - CSI_NONLINEAR_ALPHA=0.37 - CSI_NONLINEAR_BETA=100.0 restart: unless-stopped web: build: context: ./web dockerfile: Dockerfile ports: - "8000:8080" volumes: - ./data:/data:ro - ./logs:/logs:ro - ./models/vega_isotope_index.txt:/models/vega_isotope_index.txt:ro environment: - STATE_PATH=/data/monitor_state.json - CPS_LOG_PATH=/data/cps_log.jsonl - BACKGROUND_PATH=/data/background_24h.npy - BACKGROUND_SNAPSHOT_PATH=/data/background_snapshot.json - LOG_DIR=/logs - ISOTOPE_INDEX_PATH=/models/vega_isotope_index.txt - ENERGY_CALIBRATION_OFFSET=0.33 - ENERGY_CALIBRATION_SLOPE=2.97 - CSI_NONLINEAR_ALPHA=0.37 - CSI_NONLINEAR_BETA=100.0 restart: unless-stopped