AAFC-BICoE/cloudlaunch

Name: cloudlaunch

Owner: Biological Informatics CoE @ Agriculture and Agri-Food Canada

Owner: Biological Informatics CoE @ Agriculture and Agri-Food Canada

Description: Easily launch your own cloud servers for use with Galaxy and CloudMan

Forked from: galaxyproject/cloudlaunch

Created: 2015-07-15 13:17:38.0

Updated: 2016-11-07 18:42:06.0

Pushed: 2016-11-07 18:42:05.0

Homepage: http://biocloudcentral.org

Size: 962

Language: CSS

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Table of Contents
Cloud Launch

Easily launch Galaxy, CloudMan, and CloudBioLinux platforms without any configuration. You can use this app directly on launch.usegalaxy.org or run it locally - either way, it takes about 2 minutes to go from nothing to a configured cluster-in-the-cloud and a scalable analysis platform on top of cloud resources.

Installing a dev instance

This Django application can be run locally for development, start by installing Python and virtualenv. Then, build a virtualenv and install the dependencies:

$ mkdir cl; cd cl
$ virtualenv .
$ source bin/activate
$ git clone https://github.com/galaxyproject/cloudlaunch.git
$ cd cloudlaunch
$ pip install -r requirements.txt

Next, you need to make a database available. For development, SQLite will suffice. To use it, simply copy file biocloudcentral/settings_local.py.sample to biocloudcentral/settings_local.py and proceed with the database migrations step below:

$ cp biocloudcentral/settings_local.py.sample biocloudcentral/settings_local.py
$ mkdir biocloudcentral/db
Applying database migrations

Finally, apply the database migrations, and, optionally, preload your database with the details about AWS instances. When prompted during the initial databse sync, create a super-user account; it will be used to log into the Admin side of the app and allow you to manage it:

$ python biocloudcentral/manage.py syncdb
$ python biocloudcentral/manage.py migrate biocloudcentral
$ python biocloudcentral/manage.py migrate djcelery
$ python biocloudcentral/manage.py migrate kombu.transport.django
# Optional; if you want to preload AWS cloud info and instance types
$ python biocloudcentral/manage.py loaddata biocloudcentral/aws_db_data.json
Collect static data

Do the following to get all the static content into a single location:

$ mkdir /some/absolute/path
# Edit biocloudcentral/settings_local.py and set STATIC_ROOT to above path
$ python biocloudcentral/manage.py collectstatic --noinput
Run the app

Start the app with the following command, which will start a development web server and a task queue process:

$ honcho -f ProcfileDev start

The application will be available on port 8000 (127.0.0.1:8000). The Admin part of the app is available under 127.0.0.1:8000/admin/, where you will need to add your cloud connection and image information before you can launch instances.

Alternatively, you start the web server and the Celery task queue in two separate tabs (or screen sessions):

$ python biocloudcentral/manage.py runserver
$ python biocloudcentral/manage.py celeryd --concurrency 2 --loglevel=debug
Configuring on a production server
Deploying to Heroku

An instance of this app available at biocloudcentral.org is hosted on Heroku. You can do the same by registering and deploying the app under your own account. To get started, add heroku as a remote repository:

$ git remote add heroku git@heroku.com:biocloudcentral.git

Then, automatically push to Heroku for live deployment:

$ git push heroku master

If the database needs migration, run:

$ heroku run python biocloudcentral/manage.py migrate
Running in a Docker container

A preliminary version of a Docker container with Cloud Launch pre-configured is also available. For the time being, this is not considered a stable release but can be used as a very quick way of getting your own instance to test your deployment with. The Dockerfile with the instructions on how to build the container are available here: https://github.com/afgane/cloudlaunch-docker

LICENSE

The code is freely available under the MIT license.

Table of Contents
Cloud Launch

Easily launch Galaxy, CloudMan, and CloudBioLinux platforms without any configuration. You can use this app directly on launch.usegalaxy.org or run it locally - either way, it takes about 2 minutes to go from nothing to a configured cluster-in-the-cloud and a scalable analysis platform on top of cloud resources.

Installing a dev instance

This Django application can be run locally for development, start by installing Python and virtualenv. Then, build a virtualenv and install the dependencies:

$ mkdir cl; cd cl
$ virtualenv .
$ source bin/activate
$ git clone https://github.com/galaxyproject/cloudlaunch.git
$ cd cloudlaunch
$ pip install -r requirements.txt

Next, you need to make a database available. For development, SQLite will suffice. To use it, simply copy file biocloudcentral/settings_local.py.sample to biocloudcentral/settings_local.py and proceed with the database migrations step below:

$ cp biocloudcentral/settings_local.py.sample biocloudcentral/settings_local.py
$ mkdir biocloudcentral/db
Applying database migrations

Finally, apply the database migrations, and, optionally, preload your database with the details about AWS instances. When prompted during the initial databse sync, create a super-user account; it will be used to log into the Admin side of the app and allow you to manage it:

$ python biocloudcentral/manage.py syncdb
$ python biocloudcentral/manage.py migrate biocloudcentral
$ python biocloudcentral/manage.py migrate djcelery
$ python biocloudcentral/manage.py migrate kombu.transport.django
# Optional; if you want to preload AWS cloud info and instance types
$ python biocloudcentral/manage.py loaddata biocloudcentral/aws_db_data.json
Collect static data

Do the following to get all the static content into a single location:

$ mkdir /some/absolute/path
# Edit biocloudcentral/settings_local.py and set STATIC_ROOT to above path
$ python biocloudcentral/manage.py collectstatic --noinput
Run the app

Start the app with the following command, which will start a development web server and a task queue process:

$ honcho -f ProcfileDev start

The application will be available on port 8000 (127.0.0.1:8000). The Admin part of the app is available under 127.0.0.1:8000/admin/, where you will need to add your cloud connection and image information before you can launch instances.

Alternatively, you start the web server and the Celery task queue in two separate tabs (or screen sessions):

$ python biocloudcentral/manage.py runserver
$ python biocloudcentral/manage.py celeryd --concurrency 2 --loglevel=debug
Configuring on a production server
Deploying to Heroku

An instance of this app available at biocloudcentral.org is hosted on Heroku. You can do the same by registering and deploying the app under your own account. To get started, add heroku as a remote repository:

$ git remote add heroku git@heroku.com:biocloudcentral.git

Then, automatically push to Heroku for live deployment:

$ git push heroku master

If the database needs migration, run:

$ heroku run python biocloudcentral/manage.py migrate
Running in a Docker container

A preliminary version of a Docker container with Cloud Launch pre-configured is also available. For the time being, this is not considered a stable release but can be used as a very quick way of getting your own instance to test your deployment with. The Dockerfile with the instructions on how to build the container are available here: https://github.com/afgane/cloudlaunch-docker

LICENSE

The code is freely available under the MIT license.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.