Void Orchestra is a python package designed to create lightcurves of quasi-periodic oscillations,
To reduce warning from the Zooniverse code, at system level install libmagic:
$ sudo apt install libmagic-devPlots 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 chromiumVoid Orchestra uses the Python package manager uv.
This can easily be installed system-wide using pipx:
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.
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 fixturesTo plot images using plotly, activate the virtual environment and install Chrome using:
source .venv/bin/activate
plotly_get_chromeOnce the database has been installed and initialised, you can begin creating new sonifications.
TO DO
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:
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 nginxCopy 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/