RODRIGUES stands for RATT Online Deconvolved Radio Image Generation Using Esoteric Software. It is a web based radio telescope simulation and reduction tool. From a technical perspective it is a web based parameterised docker container scheduler with a result set viewer. Hopefully in the future it becomes less radio telescope specific and a more generic comutation scheduler.
screenshots: http://imgur.com/a/G31yY
First make sure you have the latest docker (>= 1.3) installed (not the default Ubuntu docker.io package).
https://docs.docker.com/installation/ubuntulinux/#ubuntu-trusty-1404-lts-64-bit
run:
$ sudo apt-get update
$ sudo apt-get install -y python-pip git
$ sudo pip install docker-compose
$ git clone https://github.com/ska-sa/rodrigues && cd rodrigues
To start RODRIGUES:
$ SECRET_KEY=secretkey SERVER_NAME=localhost docker-compose up
This will start a webserver on port 80. Replace SECRET_KEY
with something secret and random, it
is used to create HTTP sessions. you can use the -d
flag to fork
docker-compose to the background.
There are more environment variables you may need to set:
- SERVER_NAME (default: rodrigues.meqtrees.net)
- DEBUG set to true to enable debugging mode (default: off)
If things are not working, make sure the SERVER_NAME matches the host name you use to connect to rodrigues. If that doesn't help turn on debug (DEBUG=true) or examine the log files (docker-compose logs).
First time you run this app you need to create and populate the database
$ docker-compose run worker python3 manage.py migrate
$ docker-compose run worker python3 ./manage.py createsuperuser
Note that you may need to pull or create the simulation containers.
You need:
- Python 3
- Python PIP (
$ sudo apt-get install python3-pip
) - RabbitMQ (
$ sudo apt-get install rabbitmq-server
) - for matplotlib libfreetype and libpng (
$ sudo apt-get install libfreetype6-dev libpng12-dev
) - libmagic for the magic python module (
$ sudo apt-get install libmagic1
) - postgres (
$ sudo apt-get install postgresql postgresql-server-dev-all
)
Now to install the required libraries run inside the rodrigues folder:
$ sudo pip3 install -r requirements.txt
First you need to inform Django that you want to use the development settings:
$ export DJANGO_SETTINGS_MODULE=rodrigues.settings.development
Now you are ready to start the pipeline. To start the django server you first need to populate the database:
$ python3 ./manage.py migrate
and create a superuser:
$ python3 ./manage.py createsuperuser
Now you can run a development webserver using:
$ python3 ./manage.py runserver
To run the scheduled simulations you need to run a broker and celery worker:
$ make broker &
$ make worker &