I just launched a second instance of Dump1090, this one being the FlightAware fork. Compared to the older Dump1090-mutability the distance column is missing.
For FlightAware Dump1090 I did not do any configuration, for the older one there was a config.js that seems not to be working with the FA fork. The FA Dump1090 did get auto-detected and added to the account however, so there I just setup the location data.
The position needs to be accessible via receiver.json for the distance calculation to work.
For that to happen, the program needs to know the receiver location.
(In config js you only configure an overwrite in the web interface, itâs not used for calculating the distance for whatever reason)
If you are running dump1090-fa and piaware, it should use the location from the stats page.
If you just configured the location on the stats page, just try restarting dump1090-fa, it should pick up the location.
You can configure it in the config file as well:
sudo nano /etc/default/dump1090-fa
Add lat and lon to the decoder options line like in the following example:
Ah it seems dump1090-fa is invoked by fr24feed in your case.
So editing the config file i described wouldnât help.
Youâd have to use the --lat and --lon arguments in the âProcess Argumentsâ field of the fr24feed settings.
Do you have any recommendation on good sites/manuals that explain how the software platforms work and how they work together?
Like what you said the Dump1090 is launched from within FR24, I had no idea.
And like, Dump1090-fa version apparently has FA integrated and is not a local only application, like I think the original Dump1090 was?
I thought it would be difficult for a Docker noob (some Linux experience) to make a container with letâs say Dump1090, FA, FR24, ADSB-Exchange, and maybe more as all-in-one, but now I am starting to think it will be extremely difficult for me.
Pretty much all dump1090 just provide beast data on 30005 and some other data formats on other ports.
The -fa variant mainly has a branded webinterface.
Itâs also the actively developed variant.
The data output from all variants should be the same in regards to beast data.
Most feeder do the sensible thing and want beast data on port 30005.
FR24 and radarbox have a mode in their feeder where dump1090 is started by the feeder.
But you can change that in the configuration (receiver type: beast tcp, donât use DVB-T)
Just start from scratch and not with that strange docker image.
Seems to be weirdly configured.
Why do you even need docker?
The Raspberry Pi works fine and for best reception is likely gonna end up in the attic or somewhere else close to the antenna.
Thanks. Still a lot of abracadabra haha, but got some references now.
Docker is really nice when the images and containers are well set-up. The personal files or configs can be saved externally and used as input of containers. The containers hold the programs. So if you mess up something, you just deploy a new container from the image. Or if it turns out that a newer image version does not work as expected, you just restart the old container, based on the older image.
The benefits of Docker are poorly reaped for ADS-B software at this moment, it becomes problematic when image maintainers do not explicitly use version (number) tags. Thatâs why I am thinking to make one myself. Also like you said, the configuration just looks weird.
In theory it should also be super easy to deploy multi USB receivers on a single system, because you forward the USB device to a container. Just use the original container start command, adjust ip, port and usb device, and go. Then again, I for example donât understand all the configs yet. Like what will happen if you use the fr24key at the same time in multiple instances, and all that kind of stuff. FA seems to use a smarter way of detecting instances, I am getting a lot of mails from my testing haha.
I tried it by the way, because I have 2 USB receivers. But /dev/bus/usb/001/??? numbers keep changing (using those because I donât get /dev/ttyXYZ ones) after container starts/restarts/stops. Plus when one instance (container) was up, and the other came online, they both stopped receiving signals from the sky.
This whole thing is pretty annoying. I have a clear vision but getting there is a lot harder than expected due to weird behaviour and difficulty in understanding software.
I have to map each /dev/bus/usb/001/??? device to a Docker container, because when using the --privileged mode, the whole USB bus gets mapped to a container and the other container cannot open the device anymore. I am not sure if this is because of the privileged mode itself or because Dump1090 is locking all suitable devices.
Thus
~# lsusb
Bus 001 Device 004: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Bus 001 Device 005: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T
/dev/bus/usb/001/004 goes to container 1.
/dev/bus/usb/001/005 goes to container 2.
But because this, I think, is a hardware pass through, when the container is stopped, the USB device is given back (âre-attachedâ) to the host OS, and then the number changes. Bus 001 Device 006: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Then the Docker container argument is also changed. --device=/dev/bus/usb/001/006
Which makes it extremely annoying. Static something needed. PersistentUSBDevices - Domoticz does not work because there is no higher level â/dev/ nameâ except infrared control or so.
Not enough power, I thought of that. Will have a RPi 3B+ with genuine PSU tomorrow. Currently testing on a RPi 1B.
Alright, will see tomorrow on RPi3. Itâs also no problem to use the main receiver on RPi3 and secondary on RPi 1. Automatically solving the â2 receivers on 1 systemâ problem, but I like a challenge anyways.
I saw the topic and executing it should not be a problem, however, the method in my opinion is a lot of work, lacks scalability, etc. Donât get me wrong, I believe it will work super nice, but what if someone wants to run letâs say 8 instances, or do lots of experimental testing/programming.
With a well programmed docker image it would literally be 30 seconds of work to deploy a new instance, on top of other mentioned benefits. The road to get there thoughâŚ
It wouldnât be so hard to automate creating the additional files needed.
Do docker containers have their own IP address?
Iâm not really familiar but as you saw the ports dump1090-fa need to be changed to use a second instance.
Letâs say there is a RPi with LAN ip 192.168.1.5 and Docker network 172.1.0.0/16.
Container ports can be mapped to host ports. E.g.:
Contain 1: 127.0.0.1:8080 â 192.168.1.5:8080
Contain 2: 127.0.0.1:8080 â 192.168.1.5:8081
Contain 3: 127.0.0.1:8080 â 192.168.1.5:8082
These are mappings in Docker, no need to change Dump1090 configs.
Also, advertising the Docker network is possible: 172.1.0.0/16 via gateway 192.168.1.5
So then you are be able to reach the Dump1090 pages inside the home network via:
Container 1: 172.1.0.1:8080
Container 2: 172.1.0.2:8080
Container 3: 172.1.0.3:8080
Grabbed the other RPi 3B+ because I wanted to test today, before unpacking the second RPi 3B+.
Maybe the USB numbering problem is solved. It is possible that the RPi 1B lost connection with USB devices due to power and load, and therefore the device numbers kept increasing.
Question about Dump1090:
As seen in that topic, both containers can see both receivers, or at least try to, so therefore it is weird that the second one is unable to use the second receiver.
Why is this happening?
My guesses:
The successful container sees both receivers and selects the first. Fine. But it also locks/claims the second receiver somehow.
The second container fails because it is unable to use the first receiver, and it does not even try the second receiver. (I have found some parameters to force select a second receiver but didnât got it to work.)
Or both wrong?