Using Docker with RTL-SDR for ADS-B

I bought my first RTL-SDR receiver a little over a year ago and was soon up and running with FlightAware's dump1090. Shortly after that I signed up with Flightradar24, downloaded and installed the x86_64 package and started contributing. ADS-B Exchange has a script to bootstrap Linux installation and that too made it easy to get up and running. It was only when I created a second ADS-B feeder site at a new location that I appreciated how onerous maintaining all the installs and configuration could become.

Somewhat ironically I could not contribute to FlightAware either since PiAware, as the name implies, only supports the Raspberry Pi and not x86_64 Linux. I was similarly disappointed to find out that RadarBox only has Pi and Windows feeders.

While investigating various solutions I stumbled across the work of Mike and his fellow SDR Enthusiasts. They have done the hard yards and bundled the RadarBox rbfeeder and other clients into docker images supporting x86_64, arm32 and arm64 architectures - either by compiling native binaries or emulation through qemu. The docker-compose examples made it all too easy replace to my manual installs with docker-flightradar24 and docker-adsbexchange then ditch dump1090 for docker-readsb.

This was swiftly followed by the addition of docker-radarbox, docker-piaware and docker-planefinder feeders. Maintaining just a single docker-compose.yaml in each location couldn't be more simple.

Deployments have been quite robust with very little intervention required. The PiAware client occasionally loses connectivity to FlightAware and requires a restart. The connection failure is picked up by the healthcheck.sh script so I've added Will Farrell's docker-autoheal into the mix to automate the restarts.

posted by James Gemmell on Sat, 06 May 2023 at 20:47 | permalink | tags: adsb, docker, rtlsdr