Skip to content

Run dump1090-fa (Flightaware fork) quickly and easily with Docker!

License

Notifications You must be signed in to change notification settings

jeanralphaviles/dump1090-docker

Repository files navigation

Dump1090 Flightaware Docker image

Docker Automated build Docker Pulls Build Status GitHub

Run dump1090-fa (Flightaware fork) quickly and easily with Docker! No need to worry about installing drivers or packages.

This repository also includes commands to feed ADS-B data to a handful of flight tracking services, as well as a docker-compose file to simplify deployment.

Supported Flight Tracking Services
Flightaware
ADS-B Exchange
ADSBHub

Visit dump1090-docker on Docker Hub 🐳 or Github.

Usage

Run

Note, dump1090 needs access to the USB bus to be able to read data from a receiver.

  • Using vanilla Docker

    docker run --rm -d --device /dev/bus/usb --name dump1090 -p 8080:8080 jraviles/dump1090:latest
  • Using docker-compose

    docker-compose up -d dump1090

Starting all services at once

docker-compose up -d

To feed data to Flightaware you first must specify your Flightaware username, password, and optionally your FEEDER_ID (after claiming it on Flightaware) in flightaware_credentials.txt.

Building the Docker image locally

docker build -t jraviles/dump1090:latest .

Skyview

dump1090-docker exposes a webserver on port 8080 serving up PiAware Skyview. Skyview is a web portal for viewing flights your receiver is picking up on a map in real time.

Accessing Skyview

Visit http://localhost:8080.

Skyview

Feeding live flight data to Flightaware

ADS-B data from dump1090-docker can be fed to Flightaware with the help of docker-piaware.

  • Using vanilla Docker

    1. Ensure dump1090 is running.

    2. Run docker-piaware. To feed data to Flightaware you first must specify your Flightaware username, password, and optionally your FEEDER_ID in flightaware_credentials.txt.

      docker run --rm -d --link dump1090:beast --name piaware \
          --env-file flightaware_credentials.txt wnagele/piaware

      Note, if you're running on a Raspberry Pi or a non-x86 machine, the Piaware image from Docker Hub may not work correctly. If Piaware isn't starting you'll need to build the image yourself.

      git clone https://github.com/wnagele/docker-piaware.git
      cd docker-piaware
      docker build -t wnagele/piaware:latest .

      You can then use the run command from above.

  • Using docker-compose

    1. Start docker-piaware and dump1090.

      If using docker-compose, you must specify your Flightaware username, password, and optionally your FEEDER_ID in flightaware_credentials.txt.

      docker-compose up -d piaware dump1090

Setting a FEEDER_ID is optional, but it's best to have as Flightaware uses it to uniquely identify your site. If you don't have a FEEDER_ID you can find it on Flightaware's Claim page under "Linked PiAware Receivers" after running docker-piaware for the first time. There might be multiple, just pick one.

See docker-piaware on Github for more documentation.

Feeding live flight data to ADS-B Exchange

ADS-B data from dump1090-docker can be fed to ADS-B Exchange with the help of docker-adsbexchange images.

  • Using vanilla Docker

    1. Ensure dump1090 is running.

    2. Run adsbexchange-feed.

      docker run --rm -d -e "INPUT=decoder:30005" --link dump1090:decoder \
          --name adsbexchange-feed marcelstoer/adsbexchange-feed:latest
    3. Optionally run adsbexchange-mlat.

      Notes:

      1. make sure you replace the dummy values in the command below with your effective values
      2. ADS-B Exchange ask you to enter the receiver GPS coordinates for MLAT with 5-digit precision
      3. Even though you are giving away the exact receiver position ASD-B Exchange will never disclose this information. To protect the privacy of the feeders, the receiver locations displayed on their maps (e.g. for Central Europe) are approximate only.
      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 --name adsbexchange-mlat marcelstoer/adsbexchange-mlat:latest
  • Using docker-compose

    1. Start docker-adsbexchange containers and dump1090.

      If using docker-compose, you must specify your MLAT properties in adsbexchange_mlat_properties.txt.

      docker-compose up -d dump1090 adsbexchange-feed adsbexchange-mlat

docker-adsbexchange supports ADS-B Exchange custom feeds. To feed data to a custom feed, set the RECEIVER_PORT to that of a feed you have claimed. If unset, adsbexchange-docker will feed the default port: 30005. To set RECEIVER_PORT using docker-compose you must add an environment section to adsbexchange-feed's service in docker-compose.yml.

Feeding live flight data to ADSBHub

ADS-B data can be fed to ADSBHub with the help of adsbhub-docker.

  1. Register for an ADSBHub account.

  2. Register a new ADS-B station.

    Follow instructions on "Adding your ADS-B station to ADSBHub."

  3. Run adsbhub-docker.

  • Using vanilla Docker

    1. Ensure dump1090 is running.

    2. Start adsbhub-docker.

      docker run --rm -d --link dump1090 --name adsbhub jraviles/adsbhub:latest
  • Using docker-compose

    1. Start adsbhub-docker and dump1090.

      docker-compose up -d adsbhub dump1090

Maintenance

Uploading new images to Docker Hub

  1. Ensure that Docker >= 19.03 is installed to support buildx.

  2. Build and push the new image.

    # Ensure you have run 'docker login'
    export DOCKER_CLI_EXPERIMENTAL=enabled
    docker buildx create --use --name my-builder
    docker buildx build --push --platform linux/amd64,linux/arm64,linux/arm/v7 -t jraviles/dump1090:latest .
    docker buildx rm my-builder

Supported architectures:

architecture
linux/amd64
linux/arm64
linux/armv7

Contributors