Comment on page
If you wish to feed FlightAware, follow the steps below.
FlightRadar24 is a global flight tracking service that provides real-time information about thousands of aircraft around the world. Their service is currently available online and their mobile app is quite good. In order to access the features of the mobile app, you'll need to feed your ADS-B data to them for a free business plan.
fr24feedis a FlightRadar24 client program to securely transmit ADS-B and Mode S data to the commercial entity FlightRadar24.
You'll need your fr24key from your existing feeder.
To get your fr24key, log onto your feeder and issue the command:
cat /etc/fr24feed.ini | grep fr24key
If you're already feeding FlightRadar24 and you've followed the steps in the previous command, you can skip this section.
First-time users should obtain a FlightRadar24 sharing key (a fr24key). To get one, you can run through the sign-up process. This will ask a series of questions allowing you to sign up with FlightRadar24 and get a fr24key.
Run these commands from within your application directory (
docker run \
-e FEEDER_LAT="$FEEDER_LAT" \
-e FEEDER_LONG="$FEEDER_LONG" \
-e FEEDER_ALT_FT="$FEEDER_ALT_FT" \
-e FR24_EMAIL="[email protected]" \
--entrypoint /scripts/signup.sh \
After about 30 seconds or so, if the script method was successful, you should see output similar to this:
Simply copy these lines and paste them into your
If something went wrong, please take a moment to let me know, then try the manual method below.
Run the command:
docker run --rm -it --entrypoint fr24feed ghcr.io/sdr-enthusiasts/docker-flightradar24 --signup
This will take you through the sign-up process. At the end of the sign-up process, you'll be presented with:
Congratulations! You are now registered and ready to share ADS-B data with Flightradar24.
+ Your sharing key (xxxxxxxxxxxx) has been configured and emailed to you for backup purposes.
+ Your radar id is X-XXXXXXX, please include it in all email communication with us.
Copy the sharing key you are given, and add the following line to your
YOURSHARINGKEYwith the sharing key from the output of the manual sign-up process.
docker-compose.ymlfile that was created when deploying
Append the following lines to the end of the file (inside the
To explain what's going on in this addition:
- We're creating a container called
fr24, from the image
- We're passing several environment variables to the container:
BEASTHOST=ultrafeederto inform the feeder to get its ADSB data from the container
FR24KEYwill use the
FR24_SHARING_KEYvariable from your
- We're using
tmpfsfor volumes that have regular I/O. Any files stored in a
tmpfsmount are temporarily stored outside the container's writable layer. This helps to reduce:
- The size of the container, by not writing changes to the underlying container; and
- SD Card or SSD wear
Once the file has been updated, issue the command
docker compose up -din the application directory to apply the changes and bring up the
fr24container. You should see the following output:
ultrafeeder is up-to-date
piaware is up-to-date
We can view the logs for the environment with the command
docker compose logs, or continually "tail" them with
docker compose logs -f. At this stage, the logs will be fairly unexciting and look like this:
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-fr24feed: executing...
[cont-init.d] 01-fr24feed: exited 0.
[services.d] starting services
2020-11-20 16:35:53 | ______ _ _ _ _ _ _____ ___
2020-11-20 16:35:53 | | ___|| |(_) | | | | | | / __ \ / |
2020-11-20 16:35:53 | | |_ | | _ __ _ | |__ | |_ _ __ __ _ __| | __ _ _ __`' / /' / /| |
2020-11-20 16:35:53 | | _| | || | / _` || '_ \ | __|| '__|/ _` | / _` | / _` || '__| / / / /_| |
2020-11-20 16:35:53 | | | | || || (_| || | | || |_ | | | (_| || (_| || (_| || | ./ /___\___ |
2020-11-20 16:35:53 | \_| |_||_| \__, ||_| |_| \__||_| \__,_| \__,_| \__,_||_| \_____/ |_/
2020-11-20 16:35:53 | __/ |
2020-11-20 16:35:53 | |___/
2020-11-20 16:35:53 | info | [httpd]Server started, listening on 0.0.0.0:8754
2020-11-20 16:35:54 | [i]PacketSenderConfiguration::fetch_config(): Yoda configuration for this receiver is disabled
2020-11-20 16:35:54 | [d]TLSConnection::ctor(): Enable verify_peer in production code!
2020-11-20 16:35:55 | [feed][d]fetching configuration
2020-11-20 16:35:56 | [feed][c]Max range AIR: 350.0nm
2020-11-20 16:35:56 | [feed][c]Max range GND: 100.0nm
2020-11-20 16:35:56 | [feed][c]Timestamps: optional
2020-11-20 16:35:56 | info | [stats]Stats thread started
2020-11-20 16:35:56 | info | Stopping ReceiverACSender threads for feed
2020-11-20 16:35:56 | info | Configured ReceiverACSender: 18.104.22.168:8099,22.214.171.124:8099,126.96.36.199:8099, feed: XXXX1234, send_interval: 5s, max age: 15s, send metadata: true, mode: 1, filtering: true
2020-11-20 16:35:56 | info | Network thread connecting to 188.8.131.52:8099 for feed XXXX1234
Once running, you can visit
http://docker.host.ip.addr:8754to access the
fr24feedweb interface. You can also log onto FlightRadar24's website and click on the your profile button, and then "My data sharing" link to see your statistics.