# INTERCEPT - Signal Intelligence Platform # Docker Compose configuration for easy deployment services: intercept: build: . container_name: intercept depends_on: - adsb_db ports: - "5050:5050" # Privileged mode required for USB SDR device access # Alternatively, use device mapping (see below) privileged: true # USB device mapping (alternative to privileged mode) # devices: # - /dev/bus/usb:/dev/bus/usb # volumes: # Persist data directory # - ./data:/app/data # Optional: mount logs directory # - ./logs:/app/logs environment: - INTERCEPT_HOST=0.0.0.0 - INTERCEPT_PORT=5050 - INTERCEPT_LOG_LEVEL=INFO - INTERCEPT_ADSB_HISTORY_ENABLED=true - INTERCEPT_ADSB_DB_HOST=adsb_db - INTERCEPT_ADSB_DB_PORT=5432 - INTERCEPT_ADSB_DB_NAME=intercept_adsb - INTERCEPT_ADSB_DB_USER=intercept - INTERCEPT_ADSB_DB_PASSWORD=intercept # Network mode for WiFi scanning (requires host network) # network_mode: host restart: unless-stopped healthcheck: test: ["CMD", "curl", "-sf", "http://localhost:5050/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s adsb_db: image: postgres:16-alpine container_name: intercept-adsb-db environment: - POSTGRES_DB=intercept_adsb - POSTGRES_USER=intercept - POSTGRES_PASSWORD=intercept volumes: # Move this path to the USB drive later for larger retention - ./pgdata:/var/lib/postgresql/data restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U intercept -d intercept_adsb"] interval: 10s timeout: 5s retries: 5 # Optional: Add volume for persistent SQLite database # volumes: # intercept-data: