istrain-public: from-scratch build of a passive RF train detector
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>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# 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"]
|
||||
Reference in New Issue
Block a user