diff --git a/Dockerfile b/Dockerfile index 5447b09..3d4bdc8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,6 +21,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ multimon-ng \ # Audio tools for Listening Post ffmpeg \ + # SSTV decoder runtime libs + libsndfile1 \ # WiFi tools (aircrack-ng suite) aircrack-ng \ iw \ @@ -56,9 +58,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ cmake \ libncurses-dev \ libsndfile1-dev \ + libgtk-3-dev \ + libasound2-dev \ libsoapysdr-dev \ libhackrf-dev \ liblimesuite-dev \ + libfftw3-dev \ libsqlite3-dev \ libcurl4-openssl-dev \ zlib1g-dev \ @@ -109,6 +114,13 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && make \ && cp acarsdec /usr/bin/acarsdec \ && rm -rf /tmp/acarsdec \ + # Build slowrx (SSTV decoder) + && cd /tmp \ + && git clone --depth 1 https://github.com/windytan/slowrx.git \ + && cd slowrx \ + && make \ + && install -m 0755 slowrx /usr/local/bin/slowrx \ + && rm -rf /tmp/slowrx \ # Cleanup build tools to reduce image size && apt-get remove -y \ build-essential \ @@ -117,6 +129,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ cmake \ libncurses-dev \ libsndfile1-dev \ + libasound2-dev \ libsoapysdr-dev \ libhackrf-dev \ liblimesuite-dev \ diff --git a/docker-compose.yml b/docker-compose.yml index 234eb3e..ba4ba49 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ # Docker Compose configuration for easy deployment # # Basic usage: -# docker compose up -d +# docker compose --profile basic up -d # # With ADS-B history (Postgres): # docker compose --profile history up -d @@ -11,14 +11,15 @@ services: intercept: build: . container_name: intercept + profiles: + - basic 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 + # USB device mapping for all USB devices + devices: + - /dev/bus/usb:/dev/bus/usb # volumes: # Persist data directory # - ./data:/app/data @@ -54,14 +55,18 @@ services: # Enable with: docker compose --profile history up -d intercept-history: build: . - container_name: intercept + container_name: intercept-history profiles: - history depends_on: - adsb_db ports: - "5050:5050" + # Privileged mode required for USB SDR device access privileged: true + # USB device mapping for all USB devices + devices: + - /dev/bus/usb:/dev/bus/usb environment: - INTERCEPT_HOST=0.0.0.0 - INTERCEPT_PORT=5050