Skip to content

Southampton-RSG/voidorchestra

Repository files navigation

Void Orchestra

Void Orchestra is a python package designed to create lightcurves of quasi-periodic oscillations,

Requirements

System Requirements

To reduce warning from the Zooniverse code, at system level install libmagic:

$ sudo apt install libmagic-dev

Plots are generated using the plotly Python package, which requires a working browser. If using a server that doesn't have a browser by default, install chromium:

$ sudo apt install chromium  # Or if on RHEL, sudo yum install chromium

Package Manager

Void Orchestra uses the Python package manager uv. This can easily be installed system-wide using pipx:

Environment Variables

A shell environment variable VOIDORCHESTRA_CONFIG is also required, which points to the configuration file which configures Void Orchestra,

$ export VOIDORCHESTRA_CONFIG="/path/to/config/file"

or if you use fish,

$ set -gx VOIDORCHESTRA_CONFIG "/path/to/config/file"

If this configuration file does not exist at this location, the default configuration file will be copied to this location. You will need to add your password to the settings file.

Installation

To install Void Orchestra, create a /var/www directory (if it doesn't already exist) and clone the repository there:

$ mkdir /var/www 
$ cd /var/www
$ git clone https://github.com/Southampton-RSG/voidorchestra.git 

Then, enter the directory, and install the software:

  • User Install: make install
  • Developer Install: make develop

Then set up the database, and load the 'fixtures' describing the basic sonificaiton methods:

$ make database 
$ make fixtures

Plots

To plot images using plotly, activate the virtual environment and install Chrome using:

source .venv/bin/activate
plotly_get_chrome

Usage

Sonifying Lightcurves

Once the database has been installed and initialised, you can begin creating new sonifications.

TO DO

File Server

To serve the files to Zooniverse, you can use the provided Nginx container. Launch a screen, start the server, then disconnect:

$ screen
$ docker compose up
[Ctrl-A, Ctrl-D]

Using docker compose up will launch Nginx, and serve files from the output directory. If using this on a machine serving multiple sites, you can instead add the configuration file to your existing Nginx setup. Assign ownership of the directory to the voidorchestra-staff group and add nginx to it:

$ sudo usermod -a -G voidorchestra-staff nginx
$ sudo chgrp -R voidorchestra-staff /var/www/voidorchestra
$ sudo chmod -R g+rw /var/www/voidorchestra 

Then, depending on your Linux distribution:

Debian/Ubuntu

Copy or link nginx/voidorchestra.conf to your /etc/nginx/sites-enabled/ directory, then restart Nginx:

$ ln -s /var/www/voidorchestra/nginx/voidorchestra.conf /etc/nginx/sites-enabled/ 
$ sudo systemctl reload nginx
$ sudo systemctl restart nginx

Fedora/RHEL

Copy nginx/voidorchestra.conf file to your /etc/nginx/conf.d directory. Then, flag the log directory as a log directory under SELinux, and the output directory as as HTML content directory too:

$ sudo cp /var/www/voidorchestra/nginx/voidorchestra.conf /etc/nginx/conf.d/ 
$ sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/voidorchestra/data/output(/.*)?"
$ sudo restorecon -R -v /var/www/voidorchestra/data/output/
$ sudo semanage fcontext -a -t httpd_log_t "/var/www/voidorchestra/logs(/.*)?"
$ sudo restorecon -R -v /var/www/voidorchestra/logs/

About

MoleGazer rework for sonification project

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors