Commit f76712fe authored by Sebastien's avatar Sebastien

Update install Docker

parent cd3752cf
......@@ -56,28 +56,27 @@
## ABOUT ##
Perform protein family analyses (OrthoMCL), browse, visualise and share the results!
Family-Companion, a web server dedicated to the computation, the analysis and the exploration of homology groups. </h1>
Family-Companion offers a user-friendly interface to launch and share private analyses, and interactive solutions to visualise proteome intersections Venn diagrams, phylogenetic trees, alignments and query (blast, search by keywords) the results .
Family-Companion allows biologists to easily perform and share proteome comparison analyzes and provides them interpretation tools to address the most common questions in this kind of approach.
Family-Companion provides powerful, interactive and user-friendly web solutions to visualise and explore the inferred homology groups (alignments, trees, phylogenetic profiles, Venn diagrams, summary charts).
Nowadays, comparative genomics is a classical tool for biologists to address various scientific questions such as pathogeny determinism, bacteria host specificity, duplication and gene family expansion in a species.
The large number of available finished or draft genome sequences associated with the full automatisation of structural annotation pipelines leads to an era of high throughput comparative genomics.
Tools like OrthoMCL provide an easy way to compare tens of species at a time and build homologous gene families.
However, output results, classically a matrix with groups as lines and genes as columns, remains too raw to be interpreted by an end user without programming skills.
In order to help users in the post process of these data, we developed a web user interface that automatically extract frequently asked datasets such as core and pan proteomes, specific proteins, abundance and presence/absence matrix (aka. phylogenetic profiles).
Providing optional InterPro annotation will also lead to build tables and charts representing terms (eg : PFAM, GO) count in each previously described datasets.
Our tool uses standard formats as input and outputs to ease post-process analyses.
## QUICKSTART DOCKER##
### PREREQUISITES ###
Install :
You need to install :
docker-engine (see: https://docs.docker.com/engine/installation/)
git
perl
bash
Apache::Htpasswd perl module
OPTIONNAL:
If you want to create users from host server (not from Docker image), you will need Perl and this perl module
Apache::Htpasswd perl
### BUILD ###
sudo bash
......@@ -89,20 +88,20 @@ Install :
### CONFIGURE ###
Persistence directory
#### Persistence directory ####
export FC_DIR=/local/path/to/persistant/directory
Admin email adress
#### Admin email adress ####
export FC_ADMIN=john.doe@somwhere.org
App hostname and port
#### App hostname and port ####
export FC_HOSTNAME=myWebServer.org
export FC_PORT=3232
SMTP Config
#### SMTP Config ####
export FC_SMTP=smtp.server.org:port
......@@ -111,27 +110,36 @@ SMTP Config
export FC_SMTP_LOGIN=requiredlogin
export FC_SMTP_PASSWD=requiredpasswd
Run configuration shell script (will create dir/config files)
:information_source: Exemple for GMAIL configuration (you will need to allow "Less secure apps" on your Gmail account (https://support.google.com/a/answer/6260879?hl=en):
export MGB_SMTP=smtp.gmail.com:587
export MGB_SMTP_SECURITY=STARTTLS
export MGB_SMTP_LOGIN=YourGmailLogin
export MGB_SMTP_PASSWD=YourGmailPassword
#### Run configuration shell script (will create dir/config files) ####
$FC/configure.sh
$MGB/configure.sh
### CREATE ADMIN USER ###
### OPTIONNAL : CREATE ADMIN USER ###
:information_source: If you do not create admin user during installation process, these information will be asked at first web connexion
From the host server (need Apache::Htpasswd module):
$FC/bin/int/admin_addUser.pl --email=$FC_ADMIN --password=<azekaze-aze> --common_name='Jon Doe' --outdir=$FC_DIR/etc
### RUN APP ###
$FC/run.sh
:information_source: To start Docker image in interactive mode run:
### STOP APP ###
$MGB/run.sh --login
$FC/stop.sh
---
---
### STOP APP ###
$FC/stop.sh
---
......
......@@ -5,7 +5,7 @@ git pull
docker version
if [ $? -eq 0 ]; then
docker build --rm=true -t bbric/orthomclcompanion .
docker build --rm=true -t bbric/family-companion .
else
echo "FAIL: docker seems not to be correctly installed - Please check the PREREQUISITES section"
fi
......
......@@ -28,9 +28,19 @@ then
if [ -z ${FC_SMTP+x} ]
then
echo -e "\n\e[31m[ERROR] - FC_SMTP is unset and SSMTP not configured: >$FC_DIR/data/cfg/ssmtp.conf< DOES NOT EXIST";
echo -e "\e[33m>>>> [HELP] - Set FC_SMTP to your SMTP server address and FC_SMTP_LOGIN and FC_SMTP_PASSWD if authentication is required\e[39m";
echo -e "\e[33m>>>> [HELP] - Set FC_SMTP to your SMTP server address , FC_SMTP_SECURITY protocol (STARTLS or TLS) and FC_SMTP_LOGIN and FC_SMTP_PASSWD if authentication is required\e[39m";
error=1;
fi
if [ ! -z ${FC_SMTP_SECURITY+x} ]
then
if [[ "$FC_SMTP_SECURITY" =~ ^(STARTTLS|TLS)$ ]]
then
echo "$FC_SMTP_SECURITY is in the list"
else
echo "\n\e[31m[ERROR] - FC_SMTP_SECURITY is not in the valid list : STARTTLS|TLS\e[39m";
error=1
fi
fi
fi
if [ -z ${FC_PORT+x} ]
......@@ -68,7 +78,13 @@ then
if [ ! -e $FC_DIR/data/cfg/ssmtp.conf ]
then
cp site/cfg/ssmtp.conf.template $FC_DIR/data/cfg/ssmtp.conf
echo -e "#LFCAL CONFIG\n\nmailhub=$FC_SMTP\n" >> $FC_DIR/data/cfg/ssmtp.conf;
echo -e "#LOCAL CONFIG\n\nmailhub=$FC_SMTP\n" >> $FC_DIR/data/cfg/ssmtp.conf;
if [ ! -z ${FC_SMTP_SECURITY+x} ]
then
echo -e "Use$FC_SMTP_SECURITY=YES\n" >> $FC_DIR/data/cfg/ssmtp.conf;
else
echo -e "UseSTARTTLS=YES\n" >> $FC_DIR/data/cfg/ssmtp.conf;
fi
if [ ! -z ${FC_SMTP_LOGIN+x} ]
then
echo -e "AuthUser=$FC_SMTP_LOGIN\n" >> $FC_DIR/data/cfg/ssmtp.conf;
......@@ -100,6 +116,7 @@ fi
cp site/cfg/authentication-docker.cfg site/cfg/authentication.cfg
cp site/cfg/site-docker.cfg site/cfg/site.cfg
chown www-data.www-data $FC_DIR/data/cfg/local.cfg
echo -e "\e[49m";
echo -e "\e[0m";
......@@ -2,6 +2,9 @@
error=0;
login=$1;
echo -e "\e[1m\e[100m";
......@@ -50,12 +53,18 @@ echo -e "portal_port=$FC_PORT\n" >> $FC_DIR/data/cfg/env.cfg;
if [ $error -ne 1 ]
then
docker run -d -p $FC_PORT:80 -v $FC_DIR/data:/var/www/family-companion/data -v $FC_DIR/etc:/var/www/family-companion/etc -t bbric/orthomclcompanion
echo -e "\n\n\e[32mfamily-companion is running @ http://$FC_HOSTNAME:$FC_PORT/family-companion\n\n\e[39m";
interactive=' -d ';
if [[ "$login" =~ (-login)$ ]]
then
interactive=' -i ';
fi
docker run $interactive -p $FC_PORT:80 -p 587:587 -p 465:465 -p 25:25 -v $FC_DIR/data:/var/www/family-companion/data -v $FC_DIR/etc:/var/www/family-companion/etc -t bbric/family-companion
echo -e "\n\n\e[32mfamily-companion is running @ http://$HOSTNAME:$FC_PORT/family-companion\n\n\e[39m";
else
echo -e "\n\n\e[31m[ERROR] - Service not started\n\n\e[39m";
fi
echo -e "\e[49m";
echo -e "\e[0m";
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment