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.
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
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
).
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
The code is freely available under the MIT license.