Skip to content

kernytsky/biocloudcentral

 
 

Repository files navigation

BioCloudCentral

Easily launch CloudBioLinux, CloudMan and Galaxy platforms without any configuration. You can use this app directly on biocloudcentral.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

This Django application can be run locally, on a dedicated server or deployed on Heroku. To run locally or on a dedicated server, start by installing Python and virtualenv. Then, build a virtualenv and install the dependencies:

$ mkdir bcc; cd bcc
$ virtualenv .
$ source bin/activate
$ git clone git@github.com:chapmanb/biocloudcentral.git
$ cd biocloudcentral
$ pip install -r requirements.txt

Next, you need to make a database available. For local development and deployment, 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

If you are deploying to a production server, you'll want to use PostgreSQL. If not already installed, do so and then create a database (remember to change the password and match it to what you put into your biocloudcentral/settings.py file).

$ sudo su postgres -c "psql --port 5432 -c \"CREATE ROLE bcc LOGIN CREATEDB PASSWORD 'password'\""
$ createdb --username bcc --port 5432 biocloudcentral

Finally, apply the database migrations, and, optionally, preload your database with the details about AWS instances:

$ 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
$ python biocloudcentral/manage.py loaddata biocloudcentral/aws_db_data.json

Deploying locally

Simply start the web server and the Celery workers (in two separate tabs or screen sessions):

$ python biocloudcentral/manage.py runserver
$ python biocloudcentral/manage.py celeryd --concurrency 3 --loglevel=info

By default, the application will be available on localhost on port 8000 (127.0.0.1:8000).

Deploying to Heroku

The main 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. Once setup, automatically push to Heroku for live deployment:

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

LICENSE

The code is freely available under the MIT license.

About

Easily launch CloudMan and CloudBioLinux clusters with no manual configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 57.7%
  • JavaScript 23.6%
  • Python 18.5%
  • Shell 0.2%