Name: epidisco-web
Owner: Hammer Lab
Description: Web interface to easily describe and submit epidisco jobs
Created: 2016-09-21 19:43:44.0
Updated: 2017-06-09 02:57:32.0
Pushed: 2017-06-09 02:57:36.0
Homepage: null
Size: 2423
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Web interface to easily describe and submit epidisco jobs
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.
First, set your app?s secret key as an environment variable. For example, add
the following to .bashrc
or .bash_profile
.
rt 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 ADMIN_FROM_EMAIL=foo@example.com
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
In your production environment, make sure the FLASK_DEBUG
environment variable
is unset or is set to 0
, so that ProdConfig
is used.
To open the interactive shell, run :
flask shell
By default, you will have access to the flask app
.
To run all tests, run :
flask test
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
.