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.