559caead36
Public community release. The complete working system — DSP + decoders (scripts/), web dashboard + API (dashboard/), container stack (docker/), config templates (config/) — plus APOCALYPSE-EDITION.md, the full build guide for a human or a coding agent. GPLv3 (PyEOT dependency). Scrubbed of all secrets, internal IPs, hostnames, and location detail. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
27 lines
1.6 KiB
Docker
27 lines
1.6 KiB
Docker
# istrain airband — rtl_airband v5.2.0 (pinned = the VM's proven version) on the rtl-sdr-blog
|
|
# librtlsdr fork (required: dongle 1002 is an RTL-SDR Blog V4 — stock librtlsdr can't tune it).
|
|
# DETACH_KERNEL_DRIVER=ON so the library kicks dvb_usb_rtl28xxu off the dongle itself — second
|
|
# line of defense behind the host-side module blacklist (the "Allocating zero-copy" hang class).
|
|
FROM debian:bookworm-slim AS build
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
git ca-certificates build-essential cmake pkg-config \
|
|
libusb-1.0-0-dev libconfig++-dev libmp3lame-dev libshout3-dev zlib1g-dev libfftw3-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
RUN git clone --depth 1 https://github.com/rtlsdrblog/rtl-sdr-blog /src/rtl-sdr-blog \
|
|
&& cmake -S /src/rtl-sdr-blog -B /src/rtl-sdr-blog/build \
|
|
-DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=OFF \
|
|
&& make -C /src/rtl-sdr-blog/build -j"$(nproc)" install && ldconfig
|
|
RUN git clone --depth 1 --branch v5.2.0 https://github.com/rtl-airband/RTLSDR-Airband /src/airband \
|
|
&& cd /src/airband \
|
|
&& cmake -B build -DNFM=TRUE -DRTLSDR=TRUE \
|
|
&& make -C build -j"$(nproc)" && make -C build install
|
|
|
|
FROM debian:bookworm-slim
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
libusb-1.0-0 libconfig++9v5 libmp3lame0 libshout3 libfftw3-single3 tini \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY --from=build /usr/local /usr/local
|
|
RUN ldconfig
|
|
# -F foreground (systemd/docker style), -e errors to stderr; conf bind-mounted by compose.
|
|
ENTRYPOINT ["tini", "--", "rtl_airband", "-F", "-e", "-c", "/etc/rtl_airband/istrain.conf"]
|