Deployment instructions - ViaGenetics/GenesisClientApp GitHub Wiki

To deploy this application you will need to have a Linux/Unix or MacOSX computer with access to the data stored on your servers(Network drive or local file system), access via SSH and sudo rights.

This procedure only has to be done once, the same Genesis Client App can be use for future upload requests, as long as the data is accessible from the server running our app.

First access the server via SSH - if you are in a Windows computer, download and install Putty SSH client (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html), execute putty.exe and provide host name, user and password. For Linux/ Unix or MacOSX use default ssh client.

Then install required packages and libraries (follow instructions depending on your Operating System).

###MacOSX Use brew to install and manage packages. If brew it is not installed execute in a terminal

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Download latest packages.

$ sudo brew update

Install required packages - git and pip.

$ sudo brew install -y git

$ sudo easy_install pip

Now jump to the rest of the deployment steps. Go!

###Ubuntu/ Debian Use apt-get to install and manage packages.

Download latest packages.

$ sudo apt-get update

Install required packages.

$ sudo apt-get install -y python-pip python-dev  build-essential libssl-dev libffi-dev git

Now jump to the rest of the deployment steps. Go!

###OpenSUSE Use zypper to install and manage packages.

Download latest packages.

$ sudo zypper update

Install required packages.

$ sudo zypper install -y python-pip git openssl-devel python-devel libffi-devel gcc

After installing required packages proceed to install virtuallenv and pip.

###For all platforms

$ sudo pip install --upgrade pip

$ sudo pip install --upgrade virtualenv

Make a directory to deploy Genesis Client App.

$ mkdir Genesis

$ cd  Genesis

Create and load virtual environment

$ virtualenv env

$ source env/bin/activate

Install required python library

(env)$ pip install requests[security]

Clone our public repository

(env) $ git clone https://github.com/ViaGenetics/GenesisClientApp.git

Verify if the client was successfully deployed

$ GenesisClientApp/client-agent.py --verify    
Required libraries successfully installed

To create the configuration file with the client app credentials execute

$ GenesisClientApp/client-agent.py --configure    
Provide Client Id: YourClientID
Provide Secret key: 123-abc
Report errors? [1]: 1

To get the your credentials go to Data Upload module using the web UI (Upload > Select an already deployed client app > click config file). The configuration file will be located on Genesis root folder and the name is .genesis-config

Note: This application is not meant to be executed using any queuing system (e.g. LSF), it might be available in the future but not as of today.