GitHunt

ADS-B Exchange Docker

Docker Pulls
Docker Pulls
License

ADS-B Exchange feeder & MLAT Docker images for Arm (e.g. Raspberry Pi) and x86-64 architectures. Also contains a Docker Compose file that runs all required containers for ADS-B Exchange in one go.


EOL * EOL * EOL * EOL * EOL * EOL * EOL

I recommend https://github.com/sdr-enthusiasts/docker-adsb-ultrafeeder. As ADS-B Exchange has gone rogue, I now feed OpenSky and ADSB.lol, a service started by the awsome @iakat.


tl;dr

$ git clone https://github.com/marcelstoer/docker-adsbexchange
$ vi docker-compose.yaml

You need to edit docker-compose.yaml to add geo coordinates of your receiver and its name.

$ docker-compose up -d

This will pull and start three containers:

The first container also starts PiAware Skyview at http://localhost:8080
Skyview

If you now go to https://www.adsbexchange.com/myip/ it should report your two feeders after a minute or two.
ADS-B Exchange myip

Background

If you are new to ADS-B, flight tracking, etc. I suggest you read the great primer by @tomverbeure.

Setup

I am running a LoRaWAN gateway feeding to The Things Network (TTN) on the roof of my house. It is based on a Raspberry Pi 2B that runs Docker. Hence, the gateway software is isolated in an image I built with a colleague at work.

Since I have all the "infrastructure" on the roof (RPi, electricity, internet access, IP65 enclosure) it seemed like a no-brainer to add ADS-B capabilities to that device. Two requirements were clear from the beginning:

  • For the reasons outlined on their homepage I will only feed data to ADS-B Exchange and not FlightRadar24, FlightAware, ADSBHub or others.
  • All software required to feed to ADS-B Exchange must run in Docker containers.

The hardware was the easy part. I bought a FlightAware Pro Stick Plus for $20, the excellent FlightAware 1090 MHz antenna for $40 and a 5m low loss cable for $15.

Software

tbc...

Build your own images

If you want to tinker with the Docker files and build your own images follow the path below.

$ git clone https://github.com/marcelstoer/docker-adsbexchange
$ cd docker-adsbexchange
$ docker build -t adsbexchange-feed adsbexchange-feed
$ docker run --rm -d -e "INPUT=decoder:30005" —link dump1090:decoder adsbexchange-feed
$ docker build -t adsbexchange-mlat adsbexchange-mlat
$ docker run --rm -d -e "INPUT=decoder:30005" -e "MLAT_RESULTS=decoder:30104" -e "RECEIVER_LATITUDE=nn.mmmmm" -e "RECEIVER_LONGITUDE=nn.mmmmm" -e "RECEIVER_ALTITUDE=nnnn" -e "RECEIVER_NAME=my-fantastic-ADS-B-receiver" --link dump1090:decoder adsbexchange-mlat

Pending item

Languages

Shell59.7%Dockerfile40.3%

Contributors

MIT License
Created December 15, 2019
Updated January 21, 2026