Announcement

Collapse
No announcement yet.

Get up and feeding in under an hour using Docker

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Get up and feeding in under an hour using Docker

    Hi Flightradar 24 Forum users,

    I am a very long time daily user and ADSB submitter of Flightradar 24 and wanted to share some of my recent work regarding the use of Docker and a Raspberry Pi to allow full configuration and submitting to the Flightradar, Planefinder and Flightaware in under an hour.
    Then I noted above....

    "IMPORTANT NOTICE! In order to protect forum from spam robots, please don't include any links in your first 3 posts that you make on the forum, as your post will automatically be deleted."

    As a first time poster to this forum, I'll have to elaborate a bit more without providing links.
    Although hoping to follow up this post with some information that would help.

    Before starting with my process the following is required:

    1. A Raspberry Pi (preferably 2)
    2. An empty micro SD card (16GB or more, class 10 preferred)
    3. An RTL-SDR dongle with antenna
    4. A small amount of time with almost no technical knowledge required

    I have spent a lot of time on my own Pi, but wanted to create a process that would:

    a) allow me to configure additional Pi's quickly and easily
    b) a process that could be altered slightly for different GPS locations

    Hoping to post more rather than leave everyone hanging....

    In the meantime, please refer to the Hypriot OS website and I'll post shortly
    20
    Less than a day
    85.00%
    17
    A few days or more
    10.00%
    2
    Still work in progress
    0.00%
    0
    Haven't tried yet but want to
    5.00%
    1
    Last edited by inodes; 2015-12-09, 13:23.

  • #2
    The aim

    To quickly install dump1090, planefinder client, flightradar 24 client and flightaware client and be feeding to them in under an hour.

    Comment


    • #3
      Why and what is Docker?

      Docker is a software that allows me in this particular case, to wrap all the nasty configuration for multiple feed clients and programs into a single file, a few containers and at the end of the day - a single command to get it all going.

      It makes the process simple.... because I've done all the hard work for you.

      Furthermore, it allows the very easy deployment of multiple Raspberry Pi's with slight changing of configuration.
      This means you can just change the GPS co-ordinates of the config, the share code and start docker up. No messy re-configuration.

      It also allows slight changes to be made to configuration, so that testing slight variations can be done quickly, easily and without ruining all the hard work that has gone into making the previous configuration (because you can simply revert).

      Comment


      • #4
        Procedure

        1. Micro SD card in hand, follow the Hypriot OS details via their blog (Google Hypriot OS)
        2. After logging in as root, blacklist the RLT-SDR driver by adding your specific device to a config file [FONT=Courier New]/etc/modprobe.d/rtl-sdr-blacklist.conf/FONT] with the contents:
        Code:
        blacklist dvb_usb_rtl28xxu
        blacklist e4000
        blacklist rtl2832
        3. Make a directory to store your Docker files and clone my git repo
        Code:
        $ mkdir Docker
        $ cd Docker
        $ git clone https://bitbucket.org/inodes/docker-rtlsdr-pfclient
        $ cd docker-rtlsdr-pfclient
        4. Move the example docker-compose.yml_suggestion file to docker-compose.yml.
        Code:
        $ mv docker-compose.ml_suggestion ../docker-compose.yml
        $ cd ..
        5. and make edits to make it your own changing:
        • Latitude and Longitude (e.g. Sydney, Australia -33.7968 150.7823 - see http://www.where-am-i.net)
        • PPM (optional - leave as 1 - more on this later)
        • Username and Password (for Flightaware)
        • MAC Address of container (this can be anything your would like, or an old MAC address or even generated https://www.hellion.org.uk/cgi-bin/randmac.pl)
        • FR24 Key - previously sourced or see below for a sign up procedure
        • Planefinder share code - previously sourced or see below for a sign up procedure

        6. Run docker-compose up to prepare (followed by patience)
        Code:
        $ docker-compose up
        7. Go and have a rest while step 6 finishes up
        8. Once finished press Ctrl + C to stop
        9. Run docker-compose start to start the docker containers (up recreates, start actually starts it once done)
        Code:
        $ docker-compose start
        Starting Docker_dump1090-piaware_1
        Starting Docker_fr24feed_1
        Starting Docker_pfclient_1
        Done!

        You can now access:

        http://IP_of_RPI:30053 - Web interface for Planefinder
        http://IP_of_RPI:8754 - Web interface for Flightradar 24
        http://IP_of_RPI:8080 - Web interface for Dump 1090
        Last edited by inodes; 2015-12-20, 01:40.

        Comment


        • #5
          Thanks! Can't await the next steps...

          Comment


          • #6
            Originally posted by phg View Post
            Thanks! Can't await the next steps...
            Awaiting approval to post more

            Comment


            • #7
              You have mine ;-)

              Comment


              • #8
                Hopefully I can add the rest now.

                Comment


                • #9
                  Creating Accounts....

                  In the above post it assumes you have:
                  1. Planefinder sharecode
                  2. Flightradar 24 key
                  3. Flightware login and password


                  You may also just require additional share codes for example for new locations.
                  Docker also makes this easy.

                  New Planefinder Sharecode
                  • Pull down planefinder docker container then run it with the basic options below

                  Code:
                  $ docker pull inodes/rtlsdr-pfclient
                  $ docker run -it --device=/dev/bus/usb -p 30053:30053 inodes/rtlsdr-pfclient
                  2015-12-09 11:46:13.558687 We were unable to locate a configuration file and have entered configuration mode by default. Please visit: http://172.17.0.2:30053 to complete configuration.
                  2015-12-09 11:46:13.570186 Web server is now listening on: http://172.17.0.2:30053
                  2015-12-09 11:46:13.570307 Echo port is now listening on: 172.17.0.2:30054
                  • Ignore the IP's above, and instead connect to new container using http://<your_pi_ip>:30053
                  • On the configuration page presented enter the following and then press "Create a new share code" - enter the information:
                    a) Email address
                    b) Receiver Lat (write this down and keep it consistent)
                    c) Receiver Lon (write this down and keep it consistent)
                  • Press Ctrl + C on the Docker command
                  • Enter this sharecode into the docker-compose.yml from step 4 in previous post


                  New Flightradar 24 Key
                  • Pull down Flightradar 24 docker container then run it with option below

                  Code:
                  $ docker pull inodes/rtlsdr-fr24feed
                  $ docker run -it inodes/rtlsdr-fr24feed --signup
                  • Follow the steps provided
                  • Press Ctrl + C on the Docker command
                  • Enter this key into the docker-compose.yml from step 4 in previous post


                  New Flightaware Account
                  • Just use http://www.flightaware.com/account/join/
                  • NOTE: Unlike Flightradar24 and Planefinder, Flightaware is based on MAC Address (i.e. the unique identifier of your network device). Because Docker is a container this information is randomised by Docker. So in the docker-compose.yml provide either the MAC address of your Raspberry Pi, or generate one. This is particularly helpful for example if you change devices. This is another reason Docker is so flexible.



                  Once you have all this information, you can flesh out the docker-compose.yml in the above mentioned steps.
                  Last edited by inodes; 2015-12-15, 13:05.

                  Comment


                  • #10
                    Hi and many thanks!

                    I'm stuck downloading git as it requires user and password.
                    Here:

                    Comment


                    • #11
                      Originally posted by phg View Post
                      Hi and many thanks!

                      I'm stuck downloading git as it requires user and password.
                      Here:
                      Apologies phg. I have now made this public accessible. It should clone without issue:
                      Code:
                      $ git clone https://bitbucket.org/inodes/docker-rtlsdr-pfclient
                      Cloning into 'docker-rtlsdr-pfclient'...
                      remote: Counting objects: 4, done.
                      remote: Compressing objects: 100% (4/4), done.
                      remote: Total 4 (delta 0), reused 0 (delta 0)
                      Unpacking objects: 100% (4/4), done.
                      Checking connectivity... done.
                      $ cd docker-rtlsdr-pfclient
                      $ ls -l
                      -rw-r--r--  1 inodes  users   317 18 Dec 13:37 Dockerfile
                      -rw-r--r--  1 inodes  users  3027 18 Dec 13:37 docker-compose.yml_suggestion

                      Comment


                      • #12
                        You had posted in a thread I had that you would like to see if it works in windows. Do you have a windows exe file?

                        Comment


                        • #13
                          Originally posted by radiotrack1 View Post
                          You had posted in a thread I had that you would like to see if it works in windows. Do you have a windows exe file?
                          The main purpose of this guide is to get dump1090 and the three feeding clients up an running quickly on a Raspberry Pi.
                          Docker does make this very easy and there would be only slight alteration required I think to get this running on Docker under Windows (albeit would possibly require the standard Debian rather than the one compiled for ARM).

                          So assuming you just want to get Docker to do all the work for you under Windows, probably first start by getting Docker set up on Windows:
                          See: https://docs.docker.com/engine/installation/windows/

                          I'll see what I can do on my Windows VM. I haven't run Windows for years.

                          Comment


                          • #14
                            Originally posted by radiotrack1 View Post
                            You had posted in a thread I had that you would like to see if it works in windows. Do you have a windows exe file?
                            Radiotrack1,
                            I had an attempt at trying to build some Dockerfiles using Ubuntu Trusty. Unfortunately I can't get all the feeders working, although I think I could get an older version of dump1090 working with the Flightradar24 feeder.
                            The advantages of the Raspberry Pi would be missed though.

                            I'd highly recommend purchasing one. They're cheap, and with my method above... very, very easy to setup. What is also helpful is that you can simply unplug it, move it to another room, another location. It makes for the perfect adsb feeder.

                            Comment

                            Working...
                            X