diff --git a/.env b/.env index 77eb539..59b6955 100644 --- a/.env +++ b/.env @@ -7,5 +7,6 @@ FEEDER_ALT_M=xx FEEDER_ALT_FT=xxx FEEDER_NAME=my_feeder_name MULTIFEEDER_UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX +ADSBX_UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX FEEDER_HEYWHATSTHAT_ID=xxxxxxxxxxxx FEEDER_HEYWHATSTHAT_ALTS=3000,10000,30000,40000 diff --git a/README.md b/README.md index f99e996..0a945e8 100644 --- a/README.md +++ b/README.md @@ -224,31 +224,33 @@ In addition to (or instead of) connecting to a SDR or hardware device to get ADS Note that `ULTRAFEEDER_CONFIG` and `ULTRAFEEDER_NET_CONNECTOR` can be used interchangeably; in this documentation, we'll use `ULTRAFEEDER_CONFIG` as an example. -# Format: -# ULTRAFEEDER_CONFIG=adsb,host,port,protocol[,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,extra-arguments] -# ULTRAFEEDER_CONFIG=mlat,host,port[,return_port][,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,extra-arguments] -# ULTRAFEEDER_CONFIG=mlathub,host,port,protocol[,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,extra-arguments] -# -# The ULTRAFEEDER_CONFIG parameter can have multiple config strings, separated by a `;` -# Please note that the config strings cannot containe `;` or `,` -- undefined things may happen if these characters are present. -# -# In the above configuration strings: -# `host` is an IP address. Specify an IP/hostname/containername for incoming or outgoing connections. -# `port` is a TCP port number -# `protocol` can be one of the following: -# `beast_reduce_out`: Beast-format output with lower data throughput (saves bandwidth and CPU) -# `beast_reduce_plus_out`: Beast-format output with extra data (UUID). This is the preferred format when feeding the "new" aggregator services -# `beast_out`: Beast-format output -# `beast_in`: Beast-format input -# `raw_out`: Raw output -# `raw_in`: Raw input -# `sbs_out`: SBS-format output -# `vrs_out`: SBS-format output -# `uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX` is an optional parameter that sets the UUID for this specific instance. -# It will override the global `UUID` parameter. This is only needed when you want to send different UUIDs to different aggregators. -# `extra-arguments` can be any additional command line argument you want to pass to readsb, mlathub, or mlat-client -# Example: `--net-only`. Please make sure to only once pass in an extra argument for each of the adsb|mlat|mlathub service. +`ULTRAFEEDER_CONFIG` syntax: +The ULTRAFEEDER_CONFIG parameter can have multiple config strings, separated by a `;`. Please note that the config strings cannot containe `;` or `,` -- undefined things may happen if these characters are present. + +```yaml +- ULTRAFEEDER_CONFIG=adsb,host,port,protocol[,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,extra-arguments]``` +```yaml +- ULTRAFEEDER_CONFIG=mlat,host,port[,return_port][,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,extra-arguments]``` +```yaml +- ULTRAFEEDER_CONFIG=mlathub,host,port,protocol[,uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX][,extra-arguments] +``` + +In the above configuration strings: + +* `host` is an IP address. Specify an IP/hostname/containername for incoming or outgoing connections. +* `port` is a TCP port number +* `protocol` can be one of the following: + * `beast_reduce_out`: Beast-format output with lower data throughput (saves bandwidth and CPU) + * `beast_reduce_plus_out`: Beast-format output with extra data (UUID). This is the preferred format when feeding the "new" aggregator services + * `beast_out`: Beast-format output + * `beast_in`: Beast-format input + * `raw_out`: Raw output + * `raw_in`: Raw input + * `sbs_out`: SBS-format output + * `vrs_out`: SBS-format output +* `uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX` is an optional parameter that sets the UUID for this specific instance. It will override the global `UUID` parameter. This is only needed when you want to send different UUIDs to different aggregators. +* `extra-arguments` can be any additional command line argument you want to pass to readsb, mlathub, or mlat-client. Example: `--net-only`. Please make sure to only once pass in an extra argument for each of the adsb|mlat|mlathub service. ##### Networking parameters diff --git a/docker-compose.yml b/docker-compose.yml index eeb1d72..afbb7c2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -35,31 +35,26 @@ services: # Sources and Aggregator connections: # (Note - remove the ones you are not using / feeding) - READSB_NET_CONNECTOR= - feed.adsb.fi,30004,beast_reduce_plus_out; - in.adsb.lol,30004,beast_reduce_plus_out; - feed.adsb.one,64004,beast_reduce_plus_out; - feed.planespotters.net,30004,beast_reduce_plus_out; - feed.theairtraffic.com,30004,beast_reduce_plus_out - # If you really want to feed ADSBExchange, you can do so by adding this above: feed1.adsbexchange.com,30004,beast_reduce_plus_out - - UUID=${MULTIFEEDER_UUID} + adsb,feed.adsb.fi,30004,beast_reduce_plus_out; + adsb,in.adsb.lol,30004,beast_reduce_plus_out; + adsb,feed.adsb.one,64004,beast_reduce_plus_out; + adsb,feed.planespotters.net,30004,beast_reduce_plus_out; + adsb,feed.theairtraffic.com,30004,beast_reduce_plus_out; + mlat,feed.adsb.fi,31090,39000; + mlat,in.adsb.lol,31090,39001; + mlat,feed.adsb.one,64006,39002; + mlat,mlat.planespotters.net,31090,39003; + mlat,feed.theairtraffic.com,31090,39004; + mlathub,piaware,30105,beast_in; + mlathub,rbfeeder,30105,beast_in; + mlathub,radarvirtuel,30105,beast_in + # If you really want to feed ADSBExchange, you can do so by adding this above: + # adsb,feed1.adsbexchange.com,30004,beast_reduce_plus_out,uuid=${ADSBX_UUID}; + # mlat,feed.adsbexchange.com,31090,39005,uuid=${ADSBX_UUID} # # -------------------------------------------------- - # MLAT and MLATHUB related parameters: - # MLAT_CONFIG defines who you are feeding MLAT data to, and on what port(s) the results will become available - - MLAT_CONFIG= - feed.adsb.fi,31090,39000; - in.adsb.lol,31090,39001; - feed.adsb.one,64006,39002; - mlat.planespotters.net,31090,39003; - feed.theairtraffic.com,31090,39004 - # If you really want to feed ADSBExchange, you can do so by adding this above: feed.adsbexchange.com,31090,39005 + - UUID=${MULTIFEEDER_UUID} - MLAT_USER=${FEEDER_NAME} - # MLATHUB automatically gets MLAT results data from the feeders defined in MLAT_CONFIG, - # and additionally from the Net Connectors defined with MLATHUB_NET_CONNECTOR - - MLATHUB_NET_CONNECTOR= - piaware,30105,beast_in; - rbfeeder,30105,beast_in; - radarvirtuel,30105,beast_in # # -------------------------------------------------- # TAR1090 (Map Web Page) parameters: diff --git a/rootfs/etc/services.d/readsb/run b/rootfs/etc/services.d/readsb/run index 5016251..7e78b40 100644 --- a/rootfs/etc/services.d/readsb/run +++ b/rootfs/etc/services.d/readsb/run @@ -96,6 +96,7 @@ if [[ -n "$READSB_MAX_RANGE" ]]; then fi # Handle "--mlat" +# shellcheck disable=SC2153 if chk_enabled "$READSB_MLAT"; then READSB_CMD+=("--mlat") fi