A web platform for interactively selecting and managing detections for large HI surveys. Deployed as a collection of containerised services using Docker. Currently used for WALLABY and DINGO ASKAP surveys. Custom web interfaces have also been developed to provide custom functionality for these key science projects. Designed be handle source finding outputs from SoFiA and SoFiAX.
- survey_db (PostgreSQL database)
- survey_web (Django web application)
- survey_nginx (NGINX reverse proxy)
- survey_vo (GAVO DACHS TAP service)
- Create
db/psql.envfile to set thePOSTGRES_USERandPOSTGRES_PASSWORDenvironment variables - Update the
db/01-create.sqlscript with custom passwords for users - Update volume mount point (
/data) to a local volume - Deploy the service (you will need to create a Docker network first)
docker network create survey_network
docker-compose up --build -d survey_db
The survey_web service provides core functionality for managing and selecting detections that are stored in the survey_db database. It has been designed to be easily extendible for new science projects that require custom functionality. More information about the structure of the Django web application can be found at web/README.md.
- Create environment variable file and place it at
web/configwith the following variables (enter your own values for these):
PROJECT=WALLABY
DEBUG=True
LOCAL=True
SITE_NAME=WALLABY Catalog
SITE_HEADER=WALLABY Catalog
SITE_TITLE=WALLABY Catalog
INDEX_TITLE=WALLABY Catalog
AUTH_GROUPS=wallaby
DJANGO_SECRET_KEY=<django key>
DJANGO_ALLOWED_HOSTS=127.0.0.1 localhost
DATABASE_HOST=survey_db
DATABASE_PORT=5432
DATABASE_NAME=surveydb
DATABASE_USER=postgres
DATABASE_PASSWORD=postgres
SEARCH_PATH=survey,public
- The
DJANGO_SECRET_KEYcan be generated here: https://djecrety.ir/ - The
DJANGO_ALLOWED_HOSTSwill need to set to the hostname of the deployment.
- Deploy the service
docker-compose up --build -d survey_web
- Migrations and create user
This is easiest done inside of the container. To create the superuser you will be prompted to provide a password.
docker exec -it survey_web /bin/bash
and then inside of the container run the following
python manage.py migrate
python manage.py createsuperuser --username <username>
Edit the config file vo/vo.rd to configure the VO service
docker-compose up --build -d survey_vo
Sometimes I find that I need to give the gavo user ownership of the directory /var/gavo, otherwise there are warnings in the deployment. You can run
chown -R gavo:gavo /var/gavo/
docker-compose up --build -d survey_nginx