- DroneAware support:
- requires running DroneAware service (as of DroneAware release v1.4.0)
- set
DRONEAWARE_LOCAL_UDP_TARGETS=127.0.0.1:9999in DroneAware environment settings - set
DRONEAWARE_UDP_PORT=9999incompose.yamlorcompose-multifeed.yaml
- new default setting
RESPECT_OGN_ADDRESS_TYPE=True- aircraft addresses indicated as non-ICAO will receive a "~" prefix for readsb to not merge them with a potential ICAO-address aircraft
- if set to
False, all OGN addresses are passed as if they were ICAO addresses; this mainly helps with SafeSky targets when anaprs_subscribe_filteris set; these are ALWAYS reported as OGN addresses, despite actually being valid ICAO addresses
docker version of ogn2readsb
consisting of the following components:
- ogn2dump1090
- simple Python tool to inject Open Glider Network Traffic (from an existing local OGN decoder instance) into an existing readsb ADS-B decoder instance for display on a unified tar1090 map
- furthermore online aggregated traffic from
aprs.glidernet.orgcan optionally be injected for a reasonably selected radius around a given location - OGN traffic will be displayed as other traffic alongside ADS-B traffic, using the readsb tar1090 web interface (e.g. http://yourRaspberryPi.local/tar1090/)
- rtlsdr-ogn (feeding glidernet.org with OGN traffic)
- readsb (feeding glidernet.org with ADS-B traffic and decoding/forwarding traffic to the tar1090 map)
- mlat-client-adsbx (display MLAT traffic from adsbexchange.com)
- tar1090 (traffic map)
- optional feeds (advanced docker build):
- adsbexchange.com
- airplanes.live
- adsb.lol
- adsb.fi
- planefinder.net
- flightradar24.com
- airnavradar.com
- flightaware.com
- opensky-network.org
Debian or Debian-based Linux Operating Systems (64-bit Debian 13 Trixie or newer):
- Debian
- Ubuntu
- DietPi
- RaspiOS
- arm64 (64-bit ARM CPUs with hardware floating point processor)
- x64 (64-bit AMD/Intel CPUs)
- SDRs: native support for RTL-SDR Blog v4 SDR since Debian 13 Trixie
sudo apt update && sudo apt install --yes git wgetbash <(wget -q -O - https://raw.githubusercontent.com/sdr-enthusiasts/docker-install/main/docker-install.sh)- you may be asked
Y/na couple of times, it is safe to answer all of them withY sudo reboot
- identify or set both SDR serials (e.g. 868 and 1090), they are required for the
config.varsbelow - unplug all SDRs, leaving only the SDR to be used for 868 MHz reception plugged in, then issue the following command:
docker run --rm -it --device /dev/bus/usb --entrypoint rtl_eeprom ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder -s 868
- unplug all SDRs, leaving only the SDR to be used for 1090 MHz reception plugged in, then issue the following command:
docker run --rm -it --device /dev/bus/usb --entrypoint rtl_eeprom ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder -s 1090
- unplug all SDRs, leaving only the SDR to be used for 868 MHz reception plugged in, then issue the following command:
docker run --rm -it --device /dev/bus/usb --entrypoint rtl_test ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder -p- let it run for 10-15 min (important so that the SDR warms up)
- note the ppm listed in the related output, e.g.
... cumulative PPM: -1and use that for SDR_868_PPM - modern SDRs have a TCXO, therefore SDR_868_PPM = 0 is the default
- unplug all SDRs, leaving only the SDR to be used for 1090 MHz reception plugged in, then issue the following command:
docker run --rm -it --device /dev/bus/usb --entrypoint rtl_test ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder -p- let it run for 10-15 min (important so that the SDR warms up)
- note the ppm listed in the related output, e.g.
... cumulative PPM: -1and use that for SDR_1090_PPM - modern SDRs have a TCXO, therefore SDR_1090_PPM = 0 is the default
git clone https://github.com/VirusPilot/docker-ogn2readsb
cd ./docker-ogn2readsbnano config.vars- save changes with
CTRL O - exit nano with
CTRL X
- save changes with
| variable | example | description |
|---|---|---|
| STATION_LAT | 50.0 | your station latitude [deg] (as positive or negative decimal number) |
| STATION_LON | 10.0 | your station longitude [deg] (as positive or negative decimal number) |
| STATION_ALT_MSL_M | 300 | your station altitude AMSL [m] |
| STATION_NAME | OGNTEST | your max. 9 letter station name, please comply with naming convention |
| STATION_COMMENT_ANTENNA | VINNANT CC868/8-PEL | optional information about your station antenna |
| STATION_COMMENT_FILTER | optional information about your station filter | |
| STATION_COMMENT_AMPLIFIER | Uputronics HAB-FPA868 | optional information about your station amplifier |
| STATION_COMMENT_DONGLE | rtl-sdr v3 silver | optional information about your station dongle |
| STATION_COMMENT_CLUB | optional name of your Flight Club | |
| STATION_COMMENT_EMAIL | optional station email contact | |
| STATION_COMMENT_WEBSITE | optional station website | |
| STATION_COMMENT_NOTE | optional notes about your station | |
| FREQ_PLAN | 0 | 0=automatic (default), 1=EU/Africa, 2=USA/Canada, 3=South America/Australia, 4=New Zealand, 5=Israel, 6=EU/Africa 433MHz, 7=Japan |
| GSM_CENTER_FREQ | 935.8 | default = 0, change only if you know your closest GSM900 station frequency [MHz] |
| ADSB_MAX_ALT_FT | 18000 | ADSB max OGN feed altitude [ft] |
| METAR_SOURCE_ICAO | EDDF | 4-letter ICAO code of a nearby airport with METAR service |
| APRS_SUBSCRIBE_FILTER | r/50.0/10.0/100 | circle in [km] around a defined position (example: LAT 50.0, LON 10.0, CIRCLE 100 km) for which you want to receive traffic from the OGN APRS servers |
| SDR_868_SERIAL | 868 | enter your OGN SDR serial |
| SDR_868_PPM | 0 | change only if you know your SDR's ppm |
| SDR_868_BIAS_T_ENABLE | 0 | set to 1 to enable Bias Tee on your SDR, e.g. to power a LNA |
| SDR_1090_SERIAL | 1090 | enter your ADSB SDR serial |
| SDR_1090_PPM | 0 | change only if you know your SDR's ppm |
| SDR_1090_BIAS_T_ENABLE | 0 | set to 1 to enable Bias Tee on your SDR, e.g. to power a LNA |
cd ./docker-ogn2readsbdocker compose up -d
- quite some manual editing is required, please use it only if you know what you are doing
cd ./docker-ogn2readsbnano compose-multifeed.yaml- add your feeder credentials (e.g. SHARING KEY, USERNAME, LAT, LON, ALT)
- delete (or comment out) unused/unwanted feeder entries
docker compose --file compose-multifeed.yaml up -d
cd ./docker-ogn2readsbnano config.varsdocker compose up -d(ordocker compose --file compose-multifeed.yaml up -d)
http://yourReceiverIP.local/tar1090
- quick hack for now: enable "UK Radar Corridors":
http://yourReceiverIP:8080http://yourReceiverIP:8081
docker compose logs -fordocker compose --file compose-multifeed.yaml logs -f(monitor all containers)docker logs -f rtlsdr-ogndocker logs -f mlat-client-adsbxdocker logs -f readsbdocker logs -f ogn2dump1090docker logs -f tar1090
docker stats(CTRL Cto exit)
docker exec -it <yourDockerContainer> bash
docker ps -alist all docker containers, including stopped ones- docker container related commands
docker stop <container_name_or_id>stop a running containerdocker rm <container_name_or_id>deactivate a stopped containerdocker container pruneremove all stopped containersdocker compose downstop and remove all containers and networksdocker compose up -drecreate and start containers
- docker image related commands
docker image lslist docker imagesdocker rmi <image_id_or_name>delete docker imagedocker image prunedelete all unused docker images
- docker system related commands
docker system pruneclean your docker environment
- clean your entire docker environment e.g. for a fresh setup
docker rm -f $(docker ps -aq)force remove ALL containersdocker system prune -af --volumesclean your entire docker environment
| Term | Meaning |
|---|---|
| Dockerfile | Build instructions |
| Image | Built / immutable system image |
| Container | Running instance of an image |
| Compose | Orchestration / startup plan for multiple containers |
