sdr-enthusiasts / docker-rtlsdrairband Goto Github PK
View Code? Open in Web Editor NEWDocker container to run rtlsdir-airband + ice cast to stream ATC audio locally or to a remote server
License: GNU General Public License v3.0
Docker container to run rtlsdir-airband + ice cast to stream ATC audio locally or to a remote server
License: GNU General Public License v3.0
When using scan mode I can't get the metadata to update with the current frequency label.
I believe this issue is causing the problem https://github.com/charlie-foxtrot/RTLSDR-Airband/issues/203
It says for the metadata to update it needs libshout3 version 2.4.1, currently the docker build is 2.4.5
Can the container be built with 2.4.1 or would that cause issues?
Would it be possible to add support for Rdio Scanner (https://github.com/chuot/rdio-scanner) rather than Icecast? This would be great for my Marine VHF monitoring system
Using Raspberry Pi 3B
Attempted to docker run with:
-e RTLSDRAIRBAND_BUILD_PLATFORM=rpiv2
During build it gave this error:
[building rtlair_band: cmake] -- Could NOT find BCM_VC (missing: BCM_VC_LIBRARY BCM_VC_INCLUDE_DIR)
Result is the option to use Broadcom VideoCore GPU is FALSE.
Additionally, I see these errors as well. Not sure what they are related to:
[building rtlair_band: make install] c++: error: unrecognized command-line option '-mfpu=neon-vfpv4'
[building rtlair_band: make install] c++: error: unrecognized command-line option '-mfloat-abi=hard'
[building rtlair_band: make install] make[2]: *** [src/CMakeFiles/rtl_airband_base.dir/build.make:83: src/CMakeFiles/rtl_airband_base.dir/config.cpp.o] Error 1
[building rtlair_band: make install] make[1]: *** [CMakeFiles/Makefile2:100: src/CMakeFiles/rtl_airband_base.dir/all] Error 2
[building rtlair_band: make install] make: *** [Makefile:136: all] Error 2
SQUELCH environment variable needs updating. Need to update the script to stop using:
And to use either:
This is per RTLSDR-Airband Manual squelch setting
s6-test: fatal: -eq requires integer arguments
is spammed in to the container logs at start up.
Appears three times, once after 01-icecast
is run, once after 02-rtl_airband
is run, and once after s6-overlay appears to finish it's full startup run.
Hi Fred,
Since the recent updates, the container no longer starts for me:
rtl_airband | [fix-attrs.d] applying ownership & permissions fixes...
rtl_airband | [fix-attrs.d] done.
rtl_airband | [cont-init.d] executing container initialization scripts...
rtl_airband | [cont-init.d] 01-build-rtl_airband: executing...
rtl_airband | Building rtl_airband optimised for this host's CPU
rtl_airband | make: *** No targets specified and no makefile found. Stop.
rtl_airband | make: *** No rule to make target 'install'. Stop.
rtl_airband | [cont-init.d] 01-build-rtl_airband: exited 1.
rtl_airband | [cont-finish.d] executing container finish scripts...
rtl_airband | [cont-finish.d] done.
rtl_airband | [s6-finish] waiting for services.
rtl_airband | [s6-finish] sending all processes the TERM signal.
rtl_airband | [s6-finish] sending all processes the KILL signal and exiting.
I'll investigate this and submit a PR at some point over the next few days, so don't stress too much :-)
-Mike
When used on a machine also running readsb
(okay, readsb-protobuf
), this needs access to its own RTLSDR, right? In other words, not the USB device being used for 1090 or 978.
The basic sdr-enthusiasts example with rtlsdrairband doesn't answer this.
When I restart the container (docker compose stop rtlsdrairband
followed by docker compose up -d
) or host, the container starts to log this:
rtlsdrairband | [rtlsdr-airband] 2024/06/18 22:08:07 Error while parsing configuration file /usr/local/etc/rtl_airband.conf line 2: duplicate setting name
Another line (stats_filepath = "/tmp/rtl_airband_stats.txt";
) is added with each subsequent container cycle.
It looks like it's coming from this script, but nothing obvious is jumping out at me.
I haven’t had time to fix it, but I wanted to document this bug here as it’s been causing the container to restart continuously because of a failed health check.
In your rtl_airband.conf file you can define multiple outputs per device, and then temporarily or permanently enable/disable them by doing one of these 3 things
disable=true
in the output
blockThe health check unfortunately doesn’t ignore any output blocks that are disabled with methods 2 or 3.
3 is an easy fix by updating the grep
formula here.
2 is harder to fix and would require a more structural way of parsing the config file.
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service libseccomp2: starting
s6-rc: info: service 01-build-rtl_airband: starting
Building rtl_airband optimised for this host's CPU
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service libseccomp2 successfully started
s6-rc: info: service legacy-cont-init successfully started
Building with "armv8-generic" optimisations.
WARNING: Unable to determine architecture, will build with no optimisations.
[building rtlair_band: cmake] CMake Error at CMakeLists.txt:13 (message):
[building rtlair_band: cmake] Failed to detect RTL_AIRBAND_VERSION -
[building rtlair_band: cmake] "/opt/rtlsdr-airband/scripts/find_version: line 9: git: command not found"
[building rtlair_band: cmake] -- Configuring incomplete, errors occurred!
[building rtlair_band: cmake] See also "/opt/rtlsdr-airband/build/CMakeFiles/CMakeOutput.log".
[building rtlair_band: make] make: *** No targets specified and no makefile found. Stop.
[building rtlair_band: make install] make: *** No rule to make target 'install'. Stop.
s6-rc: info: service 01-build-rtl_airband successfully started
s6-rc: info: service 02-icecast: starting
s6-rc: info: service 02-icecast successfully started
s6-rc: info: service 03-rtl_airband: starting
rtlsdr-airband custom config provided. Ignoring RTLSDRBAND config options
s6-rc: info: service 03-rtl_airband successfully started
s6-rc: info: service rtlsdr-airband: starting
s6-rc: info: service prometheus: starting
s6-rc: info: service icecast: starting
s6-rc: info: service rtlsdr-airband successfully started
s6-rc: info: service prometheus successfully started
s6-rc: info: service icecast successfully started
s6-rc: info: service legacy-services: starting
cat: /tmp/rtl_airband_stats.txt: No such file or directory
[icecast] 2024/02/07 06:23:47 Starting Icecast
[rtlsdr-airband] 2024/02/07 06:23:47 Waiting for local icecast to start...
s6-rc: info: service legacy-services successfully started
[icecast] 2024/02/07 06:23:47 [2024-02-07 06:23:47] WARN CONFIG/_parse_root Warning, <hostname> not configured, using default value "localhost". This will cause problems, e.g. with YP directory listings.
[rtlsdr-airband] 2024/02/07 06:23:49 /etc/s6-overlay/scripts/rtlsdr-airband: line 22: /usr/local/bin/rtl_airband: No such file or directory
cat: /tmp/rtl_airband_stats.txt: No such file or directory
[rtlsdr-airband] 2024/02/07 06:23:50 /etc/s6-overlay/scripts/rtlsdr-airband: line 22: /usr/local/bin/rtl_airband: No such file or directory
[rtlsdr-airband] 2024/02/07 06:23:51 /etc/s6-overlay/scripts/rtlsdr-airband: line 22: /usr/local/bin/rtl_airband: No such file or directory
[rtlsdr-airband] 2024/02/07 06:23:52 /etc/s6-overlay/scripts/rtlsdr-airband: line 22: /usr/local/bin/rtl_airband: No such file or directory
[rtlsdr-airband] 2024/02/07 06:23:53 /etc/s6-overlay/scripts/rtlsdr-airband: line 22: /usr/local/bin/rtl_airband: No such file or directory
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.