Running AirScout in a Docker container

Submitted by Thomas Nilsson on

(Now updated with V 1.4.2.0)

I tried to run AirScout on my Mint 20 system. AirScout is a nice program that you can use to calculate paths using airplans as a reflector. You would like to do this in order to reach longer with your amateur radio equipment. But as I run into problem with, probably, the locales I decided to run it in a Docker container instead. And this is how I did it (1, 2).

  1. First you need to have setup you Docker environment. I also use Portainer to administrate everything.
  2. On a Mint system you can use Synaptic and search for "docker" or f you have Ubuntu run
    $ sudo apt install docker-runc docker-containerd docker.io

    or something like that. Please see the instruction for your specific OS! The funny thing is that you can use this instruction even if you run your Docker on a / your Windows computer!
  3. Create a directory in your home directory and step into it:
    $ mkdir Docker
    $ mkdir Docker/AirScout
    $ cd Docker/Airscout
  4. Download the latest AirScout zip file into the created directory, currently the AirScout zip is the following:
    $ wget http://www.airscout.eu/downloads/AirScout_V1_4_2_0.zip
  5. Create a Dockerfile in the same directory using your favourite editor like:
    $ vi Dockerfile
  6. And enter the following into it. Make sure to update the name of the AirScout zip file, two places, if you have downloaded a later one than the one used here.
    FROM mono:latest RUN apt-get update
    RUN apt-get install -y apt-utils
    RUN apt-get install -y unzip
    COPY AirScout_V1_4_2_0.zip /home/airscout/
    RUN groupadd -g 1000 airscout
    RUN useradd -d /home/airscout -s /bin/bash -m airscout -u 1000 -g 1000
    RUN unzip /home/airscout/AirScout_V1_4_2_0.zip -d /home/airscout
    RUN chown -R airscout:airscout /home/airscout
    # Added due to a bug in AirScout
    RUN mkdir -p /ScoutBase/RigData 
    RUN chown -R airscout:airscout /ScoutBase/RigData 
    USER airscout
    ENV HOME /home/airscout
    CMD mono /home/airscout/AirScout.exe
  7. When this is done run the following docker command to create the image:
    $ docker build -t airscout .
    Don't miss the dot at the end of the command!
  8. To run the image in a container use the following:
    docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -h $HOSTNAME -v $HOME/.Xauthority:/home/airscout/.Xauthority --name AirScout airscout

    I have seen that the first time I run the image it will crash after all requested info has been entered. But start (NOT run) the same container again and it will come back nicely, as expected!

  9. This is what it look like!

    AirScout in a Docker container