Deploy "ultrafeeder"
The "ultrafeeder" container is the heart of our "adsb" application. It receives 1090MHz ADS-B ES signals from your SDR, and demodulates ADS-B messages, making them available for all other containers.
nano docker-compose.ymlservices:
ultrafeeder:
# ultrafeeder combines a number of functions:
# - it retrieves and decodes 1090MHz Mode A/C/S data from the SDR(s) using Wiedehopf's branch of readsb
# - it implements a `tar1090` based map on port 80 (mapped to port 8080 on the host)
# - it includes graph1090 (system statistics website) on http://xxxxx/graphs1090
# - it sends ADSB data directly (without the need of additional containers) to the
# "new" aggregators, and, if desired, also to ADSBExchange
# - it includes mlat-client to send MLAT data to these aggregators
# - it includes an MLAT Hub to consolidate MLAT results and make them available to the built-in map and other services
image: ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder
container_name: ultrafeeder
hostname: ultrafeeder
restart: unless-stopped
device_cgroup_rules:
- "c 189:* rwm"
ports:
- 8080:80 # to expose the web interface
environment:
# --------------------------------------------------
# general parameters:
- LOGLEVEL=error
- TZ=${FEEDER_TZ}
# --------------------------------------------------
# SDR related parameters:
- READSB_DEVICE_TYPE=rtlsdr
- READSB_RTLSDR_DEVICE=${ADSB_SDR_SERIAL}
- READSB_RTLSDR_PPM=${ADSB_SDR_PPM}
#
# --------------------------------------------------
# readsb/decoder parameters:
- READSB_LAT=${FEEDER_LAT}
- READSB_LON=${FEEDER_LONG}
- READSB_ALT=${FEEDER_ALT_M}m
- READSB_RX_LOCATION_ACCURACY=2
- READSB_STATS_RANGE=true
#
# --------------------------------------------------
# Sources and Aggregator connections:
# Note - remove the ones you are not using / feeding
# Make sure that each line ends with a semicolon ";"
# if you are not using dump978, feel free to remove the first line
- ULTRAFEEDER_CONFIG=
adsb,dump978,30978,uat_in;
adsb,feed.adsb.fi,30004,beast_reduce_plus_out;
mlat,feed.adsb.fi,31090;
adsb,in.adsb.lol,30004,beast_reduce_plus_out;
mlat,in.adsb.lol,31090;
adsb,feed.airplanes.live,30004,beast_reduce_plus_out;
mlat,feed.airplanes.live,31090;
adsb,feed.planespotters.net,30004,beast_reduce_plus_out;
mlat,mlat.planespotters.net,31090;
adsb,feed.theairtraffic.com,30004,beast_reduce_plus_out;
mlat,feed.theairtraffic.com,31090;
adsb,data.avdelphi.com,24999,beast_reduce_plus_out;
adsb,skyfeed.hpradar.com,30004,beast_reduce_plus_out;
mlat,skyfeed.hpradar.com,31090;
adsb,dati.flyitalyadsb.com,4905,beast_reduce_plus_out;
mlat,dati.flyitalyadsb.com,30100;
adsb,feed1.adsbexchange.com,30004,beast_reduce_plus_out;
mlat,feed.adsbexchange.com,31090;
# mlathub,planewatch,30105,beast_in;
# --------------------------------------------------
- UUID=${ULTRAFEEDER_UUID}
- MLAT_USER=${FEEDER_NAME}
- READSB_FORWARD_MLAT_SBS=true
#
# --------------------------------------------------
# TAR1090 (Map Web Page) parameters:
- UPDATE_TAR1090=true
- TAR1090_MESSAGERATEINTITLE=true
- TAR1090_PAGETITLE=${FEEDER_NAME}
- TAR1090_PLANECOUNTINTITLE=true
- TAR1090_ENABLE_AC_DB=true
- TAR1090_FLIGHTAWARELINKS=true
- HEYWHATSTHAT_PANORAMA_ID=${FEEDER_HEYWHATSTHAT_ID}
- HEYWHATSTHAT_ALTS=${FEEDER_HEYWHATSTHAT_ALTS}
- TAR1090_SITESHOW=true
- TAR1090_RANGE_OUTLINE_COLORED_BY_ALTITUDE=true
- TAR1090_RANGE_OUTLINE_WIDTH=2.0
- TAR1090_RANGERINGSDISTANCES=50,100,150,200
- TAR1090_RANGERINGSCOLORS='#1A237E','#0D47A1','#42A5F5','#64B5F6'
- TAR1090_USEROUTEAPI=true
#
# --------------------------------------------------
# GRAPHS1090 (Decoder and System Status Web Page) parameters:
- GRAPHS1090_DARKMODE=true
#
# --------------------------------------------------
volumes:
- /opt/adsb/ultrafeeder/globe_history:/var/globe_history
- /opt/adsb/ultrafeeder/graphs1090:/var/lib/collectd
- /proc/diskstats:/proc/diskstats:ro
- /dev/bus/usb:/dev/bus/usb:rw
tmpfs:
- /run:exec,size=256MFeeding directly from Ultrafeeder
Using the MLAT results
Deploying ultrafeeder
ultrafeederUltrafeeder Web Pages
Viewing Live Data in Text Format
UUID security
Preparing and setting up ultrafeeder with Prometheus and Grafana
ultrafeeder with Prometheus and GrafanaMinimalist setup
Advanced
Last updated
Was this helpful?