Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

BOOSTER-WEB: Web interface to BOOSTER


This interface presents informations about BOOSTER program, and allows to run BOOSTER easily.

Installing BOOSTER-WEB

Already compiled

Download a release in the release section. You can directly run the executable for your platform.

From source

To compile BOOSTER-WEB, you must download and install Go (version >=1.9) on your system.

Then you just have to type :

go get
go get -u

This will download BOOSTER-WEB sources from github, and its dependencies.

You can then build BOOSTER-WEB with:

cd $GOPATH/src/
dep ensure

The booster-web executable should be located in the $GOPATH/bin folder.

From Docker

A docker image running a Galaxy server with all tools used by booster-web (PhyML-SMS, FastTree, Booster) and an already configured booster-web server is avalaible on docker hub.

  • Download and run already configured booster-web + galaxy servers:
docker run --privileged=true \
            -p 8080:80 -p 8000:8888 \
            -p 8 -p 8121:21 -p 8122:22 \

Then visit http://localhost:8000 .


Default configuration

You can directly run the booster-web executable without any configuration. It will setup a web server with the following default properties:

  • Run on localhost, port 8080
  • Log to stderr
  • In memory database (analyses will not persist after server shutdown)
  • Local processor (booster jobs will run on the local machine)
  • 1 parallel Runner: One job at a time
  • Job Timeout: unlimited
  • 1 thread per job

To access the web interface, just go to http://localhost:8080

Note that the local processor only allows to run booster from already inferred trees (no PhyML-SMS nor FastTree workflow). To also run tree inference workflows, see "Other configurations", or "Install from Docker".

Other configurations

It is possible to configure booster-web to run with specific options. To do so, create a configuration file booster-web.toml with the following sections:

  • general
    • maintenance = [true|false]
  • database
    • type = "[memory|mysql]"
    • user = "[mysql user]"
    • port = [mysql port]
    • host = "[mysql host]"
    • pass = "[mysql pass]"
    • dbname = "[mysql dbname]"
  • itol
    • key = "[iTOL api key]"
    • project = "[itol upload project]"
  • runners
    • type="[galaxy|local]"
    • queuesize=[size of job queue]
    • nbrunners=[number of parallel local runners]
    • jobthreads=[number of threads per local job]
    • timeout=[job timeout in seconds: 0=ulimited]
    • memlimit=[Max allowed Memory in Bytes]
    • keepold=[Number of days to keep results of old analyses]
  • galaxy (Only used if runners.type="galaxy")
    • key="[galaxy api key]"
    • url="[url of the galaxy server: http(s)://ip:port]"
    • booster="[Id of booster tool on the galaxy server]"
    • phyml="[Id of PHYML-SMS tool on the galaxy server]"
    • fasttree="[Id of FastTree tool on the galaxy server]"
  • notification (for notification when jobs are finished)
    • activated=[true|false]
    • smtp="[smtp serveur for sending email]"
    • port=[smtp port]
    • user="[smtp user]"
    • pass="[smtp password]"
    • resultpage = "[url to result pages]"
    • sender="[sender of the notification]"
  • logging
    • logfile= "[stderr|stdout|/path/to/logfile]"
  • http
    • port=[http server listening port]
  • authentication
    • user="[global username]"
    • password="[global password]"

And run booster web: booster-web --config booster-web.toml

Example of configuration file

# If booster-web is in maintenance mode or not
maintenance = false

# Type : memory|mysql (default memory)
type = "mysql"
user = "mysql_user"
port = 3306
host = "mysql_server"
pass = "mysql_pass"
dbname = "mysql_db_name"

key = "xxxxxxxxxx"
project = "booster"

# galaxy|local if galaxy: required galaxykey & galaxyurl
# Maximum number of pending jobs (default : 10): for galaxy & local
queuesize = 200
# Number of parallel running jobs (default : 1): for local only
nbrunners  = 1
# Number of cpus per bootstrap job : for local only
jobthreads  = 10
# Timout for each job in seconds (default unlimited): for local only
#timeout  = 1000
# Memory limit in Bytes for each job (uses job memory estimation): for galaxy only
#memlimit  = 8000000000
# Keep old finished analyses for 10 days, default=0 (unlimited)
keepold = 10

#Only used if runners.type="galaxy"

# Id of booster tool on the galaxy server
# Id of PhyML-SMS tool on the galaxy server
# Id of FastTree tool on the galaxy server

# For notification when job is finished
# true|false
# smtp serveur for sending email
# Port
# Smtp user 
# Smtp password
# booster-web server name:port/view page,
# used to give the right url in result email
resultpage = "http://url/view"
# sender of the notification
sender = ""

# Log file : stdout|stderr|any file
logfile = "booster.log"

# HTTP server Listening port
port = 4000

# For running a private server, default: no authentication
#user     = "user"
#password = "pass"