Docker images for the LWA Software Library (LSL) and the various user-facing tools for the Long Wavelenth Array.
The available images are:
- base: LSL installed on Ubuntu 20.04 in a Python3.8 virtualenv.
- session_schedules: base + the LWA scheduling tools, plus firefox to submit schedules.
- raw_data: session_schedules + the LWA commissioning tools for working with raw LWA data.
- pulsar: raw_data + the LWA pulsar tools for working pulsar data and the LWA pulsar archive pipeline) This also includes TEMPO, PRESTO, psrcat, psrchive, and dspsr.
- baseline: session_schedules + AIPS and difmap for working with LWA Single Baseline Interferometer data.
- jupyter: base + a Jupyter notebook server based off this image.
To start an image without a graphical interface:
docker pull lwaproject/lsl:{image_name}
docker run -it lwaproject/lsl:{image_name}
For using a graphical interface there are two options: X11 forwarding and xpra. X11 forwarding works well locally on Linux and OSX machines but requires some perseverance to get working. xpra is easiser to setup and can be used with:
docker pull lwaproject/lsl:{image_name}
docker run -it -p 10000:10000 lwaproject/lsl:{image_name}
Once Docker is running, from inside the container start the xpra server:
export DISPLAY=:100
xpra start --bind-tcp=0.0.0.0:10000 --daemon=yes $DISPLAY
After xpra starts and moves into the background you need to start the xpra client on your Docker host machine. To do this run:
/path/to/your/xpra attach tcp://localhost:10000/
At this point any graphical programs started in the container should appear on your screen. Once you are finished with the container, simply exit and the xpra client should exit as well.
If you want to access data stored on your Docker host machine you need to specify which directory as part of the docker run
command. For example, if you want a graphical interface and to have access to data stored in /home/you/lwa_data
on your machine you would run:
docker pull lwaproject/lsl:{image_name}
docker run -it -p 10000:10000 -v /home/you/lwa_data:/data lwaproject/lsl:{image_name}
Inside the container your data will be accessable through the /data
directory.