Sign inSign up

hammerlab/epidisco-web

By hammerlab

•Updated over 9 years ago

Epidisco-web as a docker image

Image
0

523

hammerlab/epidisco-web repository overview

⁠epidisco-web

Web interface to easily describe and submit epidisco jobs

⁠Using the docker image

If you would like to deploy Epidisco Web using Docker, you can use the one the ready-to-go images from dockerhub:hammerlab/epidisco-web⁠:

  $ docker pull hammerlab/epidisco-web

  # Simple settings
  $ export NUMOFWORKERS=1
  $ export EPIPORT=8000

  # Run the image in daemon mode (where gunicorn serves the website)
  $ docker run -d -p $EPIPORT:$EPIPORT hammerlab/epidisco-web -w $NUMOFWORKERS -b 0.0.0.0:$EPIPORT

and browse to localhost:8000⁠.

⁠Quickstart

First, set your app’s secret key as an environment variable. For example, add the following to .bashrc or .bash_profile.

export EPIDISCO_WEB_SECRET='something-really-secret'

Before running shell commands, set the FLASK_APP and FLASK_DEBUG environment variables:

export FLASK_APP=/path/to/epidisco-web/autoapp.py
export FLASK_DEBUG=1

As well as your Mailgun keys, if you'd like to send emails:

export MAILGUN_DOMAIN=mail.example.com
export MAILGUN_API_KEY=key-foo
export MAILGUN_VALIDATION_KEY=pubkey-foo
export [email protected]

If not, be sure to set the DISABLE_EMAILS variable to true (export DISABLE_EMAILS=true) so that epidisco-web can be sure you didn't want to send emails.

Although optional, it is highly recommended that you work within an isolated Python environment (such as conda⁠) for the development:

conda create -n eweb python=3
source activate eweb

Then run the following commands to bootstrap your environment:

git clone https://github.com/armish/epidisco-web
cd epidisco-web
pip install -r requirements/dev.txt
npm install

and bundle the Javascript and run Flask:

npm run bundle
flask run

Browsing to localhost:8080⁠, you will see a pretty welcome screen.

Once you have installed your DBMS, run the following to create your app’s database tables and perform the initial migration :

flask db init
flask db migrate
flask db upgrade
flask run

⁠Deployment

In your production environment, make sure the FLASK_DEBUG environment variable is unset or is set to 0, so that ProdConfig is used.

⁠Shell

To open the interactive shell, run :

flask shell

By default, you will have access to the flask app.

⁠Running Tests

To run all tests, run :

flask test

⁠Migrations

Whenever a database migration needs to be made. Run the following commands :

flask db migrate

This will generate a new migration script. Then run :

flask db upgrade

To apply the migration.

For a full migration command reference, run flask db --help.

Tag summary

Content type

Image

Digest

Size

335.1 MB

Last updated

over 9 years ago

docker pull hammerlab/epidisco-web