Newer
Older

Arthur Le Bars
committed
# ./docker_data is created and filled with persistent data that should be backuped
version: '3.7'
services:
proxy:
image: quay.io/abretaud/nginx-ldap:latest
volumes:
- ./src_data/:/project_data/
#- /groups/XXX/:/groups/XXX/:ro # We do this when we have symlinks in src_data pointing to /groups/XXX/...
- ./nginx/conf:/etc/nginx/conf.d
networks:
- traefikbig
- {{ genus_species }}
deploy:
labels:
# Download page
- "traefik.http.routers.{{ genus_species }}-nginx.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/{{ genus_species }}/download`))"
{% if https_port is defined and https_port %}
- "traefik.http.routers.{{ genus_species }}-nginx.tls=true"
- "traefik.http.routers.{{ genus_species }}-nginx.entryPoints=webs"
- "traefik.http.routers.{{ genus_species }}-nginx.middlewares=sp-auth,sp-app-trailslash,sp-prefix"
{% else %}
- "traefik.http.routers.{{ genus_species }}-nginx.entryPoints=web"

Loraine Gueguen
committed
- "traefik.http.routers.{{ genus_species }}-nginx.middlewares=sp-app-trailslash,sp-prefix"

Arthur Le Bars
committed
- "traefik.http.services.{{ genus_species }}-nginx.loadbalancer.server.port=80"
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
tripal:
image: quay.io/galaxy-genome-annotation/tripal:v2.x
depends_on:
- tripal-db
- elasticsearch
volumes:
- ./docker_data/galaxy/:/export/:ro
- ./src_data/:/project_data/:ro
- ./src_data:/data:ro
{% if tripal_banner_path is defined and tripal_banner_path %}

Arthur Le Bars
committed
- ./banner.png:/var/www/html/banner.png:ro

Arthur Le Bars
committed
#- /groups/XXX/:/groups/XXX/:ro # We do this when we have symlinks in src_data pointing to /groups/XXX/...
{% if picture_path is defined and picture_path %}

Arthur Le Bars
committed
- ./species.png:/var/www/html/species.png:ro

Arthur Le Bars
committed
- ./species.jpg:/var/www/html/species.jpg:ro

Arthur Le Bars
committed
{% endif %}

Arthur Le Bars
committed
environment:
DB_HOST: tripal-db.{{ genus_species }}
BASE_URL_PATH: /sp/{{ genus_species }}
UPLOAD_LIMIT: 20M
MEMORY_LIMIT: 512M
TRIPAL_GIT_CLONE_MODULES: "https://github.com/abretaud/tripal_rest_api.git[@c6f9021ea5d4c6d7c67c5bd363a7dd9359228bbc] https://github.com/tripal/tripal_elasticsearch.git[@dc7f276046e394a80a7dfc9404cf1a149006eb2a] https://github.com/tripal/tripal_analysis_interpro.git https://github.com/tripal/tripal_analysis_go.git https://github.com/tripal/tripal_analysis_blast.git https://github.com/tripal/tripal_analysis_expression.git[@7240039fdeb4579afd06bbcb989cb7795bd4c342]"
TRIPAL_DOWNLOAD_MODULES: ""
TRIPAL_ENABLE_MODULES: "tripal_analysis_blast tripal_analysis_interpro tripal_analysis_go tripal_rest_api tripal_elasticsearch"
SITE_NAME: "{{ Genus_species }}"
ELASTICSEARCH_HOST: elasticsearch.{{ genus_species }}
ENABLE_JBROWSE: /jbrowse/?data=data/{{ genus_species_strain_sex }}
ENABLE_APOLLO: 0

Loraine Gueguen
committed
ENABLE_BLAST: {{ blast }}
ENABLE_DOWNLOAD: 1
ENABLE_WIKI: 0

Arthur Le Bars
committed
ENABLE_ORTHOLOGY: 0
ENABLE_ORTHOLOGY_LINKS: 0
THEME: "{{ tripal_theme_name }}" # Use this to use another theme
THEME_GIT_CLONE: "{{ tripal_theme_git_clone }}" # Use this to install another theme
ADMIN_PASSWORD: {{ tripal_password }} # You need to define it and update it in galaxy config below
networks:
- traefikbig
- {{ genus_species }}
deploy:
labels:
- "traefik.http.routers.{{ genus_species }}-tripal.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/{{ genus_species }}`))"
{% if https_port is defined and https_port %}
- "traefik.http.routers.{{ genus_species }}-tripal.tls=true"
- "traefik.http.routers.{{ genus_species }}-tripal.entryPoints=webs"
- "traefik.http.routers.{{ genus_species }}-tripal.middlewares=sp-auth,sp-trailslash,sp-prefix,tripal-addprefix"
{% else %}
- "traefik.http.routers.{{ genus_species }}-tripal.entryPoints=web"

Loraine Gueguen
committed
- "traefik.http.routers.{{ genus_species }}-tripal.middlewares=sp-trailslash,sp-prefix,tripal-addprefix"

Arthur Le Bars
committed
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
- "traefik.http.services.{{ genus_species }}-tripal.loadbalancer.server.port=80"
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
tripal-db:
image: quay.io/galaxy-genome-annotation/chado:1.31-jenkins26-pg9.5
environment:
- POSTGRES_PASSWORD=postgres
# The default chado image would try to install the schema on first run,
# we just want the tools to be available.
- INSTALL_CHADO_SCHEMA=0
volumes:
- ./docker_data/tripal_db/:/var/lib/postgresql/data/
networks:
- {{ genus_species }}
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.6.1
volumes:
- ./docker_data/elastic_search_index/:/usr/share/elasticsearch/data/
environment:
xpack.security.enabled: "false"
xpack.monitoring.enabled: "false"
xpack.ml.enabled: "false"
xpack.graph.enabled: "false"
xpack.watcher.enabled: "false"
cluster.routing.allocation.disk.threshold_enabled: "false"
ES_JAVA_OPTS: "-Xms500m -Xmx500m"
TAKE_FILE_OWNERSHIP: "true"
networks:
- {{ genus_species }}
galaxy:
image: quay.io/galaxy-genome-annotation/docker-galaxy-annotation:gmod
volumes:
{% if (galaxy_persist_data is defined and galaxy_persist_data) and (galaxy_persist_data == "False") %}
#- ./docker_data/galaxy/:/export/
{% else %}
- ./docker_data/galaxy/:/export/
{% endif %}

Arthur Le Bars
committed
- ./src_data/:/project_data/:ro
#- /groups/XXX/:/groups/XXX/:ro # We do this when we have symlinks in src_data pointing to /groups/XXX/...
- ./docker_data/jbrowse/:/jbrowse/data/
- ./docker_data/apollo/:/apollo-data/
- ../galaxy_nginx.conf:/etc/nginx/uwsgi_params
environment:
NONUSE: nodejs,proftp,reports,condor
GALAXY_LOGGING: full

Arthur Le Bars
committed
GALAXY_CONFIG_BRAND: "{{ Genus }} {{ species }}"

Arthur Le Bars
committed
GALAXY_CONFIG_ALLOW_LIBRARY_PATH_PASTE: "True"
GALAXY_CONFIG_USE_REMOTE_USER: "True"
GALAXY_CONFIG_REMOTE_USER_MAILDOMAIN: "{{ galaxy_config_remote_user_maildomain }}"

Arthur Le Bars
committed
GALAXY_DEFAULT_ADMIN_EMAIL: "{{ galaxy_default_admin_email }}"
GALAXY_DEFAULT_ADMIN_USER: "{{ galaxy_default_admin_user }}"

Arthur Le Bars
committed
GALAXY_DEFAULT_ADMIN_PASSWORD: "{{ galaxy_default_admin_password }}"

Loraine Gueguen
committed
GALAXY_CONFIG_ADMIN_USERS: "admin@galaxy.org,{{ galaxy_default_admin_email }}" # admin@galaxy.org is the default (leave it), galaxy_default_admin_email is a shared ldap user we use to connect

Arthur Le Bars
committed
ENABLE_FIX_PERMS: 0
PROXY_PREFIX: /sp/{{ genus_species }}/galaxy
GALAXY_TRIPAL_URL: http://tripal.{{ genus_species }}/tripal/

Arthur Le Bars
committed
GALAXY_TRIPAL_PASSWORD: {{ tripal_password }} # See tripal config above

Arthur Le Bars
committed
GALAXY_CHADO_DBHOST: tripal-db.{{ genus_species }}

Arthur Le Bars
committed
GALAXY_CHADO_DBSCHEMA: chado
GALAXY_AUTO_UPDATE_DB: 1
GALAXY_AUTO_UPDATE_CONDA: 1
GALAXY_AUTO_UPDATE_TOOLS: "/galaxy-central/tools_1.yaml"
GALAXY_SHARED_DIR: ""
BLAT_ENABLED: 1
networks:
- traefikbig
- {{ genus_species }}
deploy:
labels:
- "traefik.http.routers.{{ genus_species }}-galaxy.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/{{ genus_species }}/galaxy`))"
{% if https_port is defined and https_port %}
- "traefik.http.routers.{{ genus_species }}-galaxy.tls=true"
- "traefik.http.routers.{{ genus_species }}-galaxy.entryPoints=webs"
- "traefik.http.routers.{{ genus_species }}-galaxy.middlewares=sp-auth,sp-app-trailslash,sp-app-prefix"
{% else %}
- "traefik.http.routers.{{ genus_species }}-galaxy.entryPoints=web"

Loraine Gueguen
committed
- "traefik.http.routers.{{ genus_species }}-galaxy.middlewares=sp-app-trailslash,sp-app-prefix"

Arthur Le Bars
committed
- "traefik.http.services.{{ genus_species }}-galaxy.loadbalancer.server.port=80"
- "traefik.http.routers.{{ genus_species }}-gga_load-galaxy.rule=(Host(`localhost`) && PathPrefix(`/sp/{{ genus_species }}/galaxy`))"
- "traefik.http.routers.{{ genus_species }}-gga_load-galaxy.entryPoints=web"

Loraine Gueguen
committed
- "traefik.http.routers.{{ genus_species }}-gga_load-galaxy.middlewares=sp-app-trailslash,sp-app-prefix"

Arthur Le Bars
committed
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
jbrowse:
image: quay.io/galaxy-genome-annotation/jbrowse:v1.16.8
volumes:
- ./docker_data/galaxy/:/export/:ro
- ./src_data/:/project_data/:ro
#- /groups/XXX/:/groups/XXX/:ro # We do this when we have symlinks in src_data pointing to /groups/XXX/...
- ./docker_data/jbrowse/:/jbrowse/data/:ro
networks:
- traefikbig
- {{ genus_species }}
deploy:
labels:
- "traefik.http.routers.{{ genus_species }}-jbrowse.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/{{ genus_species }}/jbrowse`))"
{% if https_port is defined and https_port %}
- "traefik.http.routers.{{ genus_species }}-jbrowse.tls=true"
- "traefik.http.routers.{{ genus_species }}-jbrowse.entryPoints=webs"
- "traefik.http.routers.{{ genus_species }}-jbrowse.middlewares=sp-auth,sp-app-trailslash,sp-app-prefix"
- "traefik.http.routers.{{ genus_species }}-jbrowse.entryPoints=web"

Loraine Gueguen
committed
- "traefik.http.routers.{{ genus_species }}-jbrowse.middlewares=sp-app-trailslash,sp-app-prefix"

Arthur Le Bars
committed
- "traefik.http.services.{{ genus_species }}-jbrowse.loadbalancer.server.port=80"
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
{% if blast is defined and blast and blast == 1 %}

Arthur Le Bars
committed
blast:
image: quay.io/abretaud/sf-blast:latest
depends_on:
- blast-db
environment:
DB_HOST: blast-db.{{ genus_species }}
UPLOAD_LIMIT: 20M
MEMORY_LIMIT: 128M
DB_NAME: 'postgres'

Loraine Gueguen
committed
ADMIN_EMAIL: 'g.ga@domain.org' # email sender

Arthur Le Bars
committed
ADMIN_NAME: 'gga' # email sender name
JOBS_METHOD: 'local' # Can be local (= no sge jobs, but run inside the container) or drmaa (= to submit to a cluster)
JOBS_WORK_DIR: '/tmp/blast_jobs/' # disk accessible both from compute nodes and mounted in this docker (at the same path)
CDD_DELTA_PATH: '/db/cdd_delta/current/flat/cdd_delta'
BLAST_TITLE: '{{ Genus }} {{ species }} blast server'
JOBS_SCHED_NAME: '{{ blast_gspecies }}' # job names
#PRE_CMD: '. /local/env/envblast-2.6.0.sh; . /local/env/envpython-3.7.1.sh;' # executed at the beginning of each job
#APACHE_RUN_USER: 'bipaaweb' # username known by sge
#APACHE_RUN_GROUP: 'bipaa' # group known by sge
BASE_URL_PATH: '/sp/{{ genus_species }}/blast/'
UID: 55914 # username known by sge (for drmaa mode only)
GID: 40259 # group known by sge (for drmaa mode only)
#JOBS_DRMAA_NATIVE: '-p web' # This line and following for slurm
#DRMAA_METHOD: 'slurm' # This line and following for slurm
volumes:

Loraine Gueguen
committed
- ../blast-themes/my_theme/:/var/www/blast/app/Resources/:ro # You can theme the app
- /path/to/blast/exe/:/path/to/blast/exe/:ro # path for blast executables

Arthur Le Bars
committed
- /db/:/db/:ro # for access to indexed blast databases
#- /data1/sge/:/usr/local/sge/:ro # an sge install
#- /xxxx/blast_jobs/:/xxxx/blast_jobs/ # (for drmaa mode only)
- ./blast/banks.yml:/var/www/blast/app/config/banks.yml:ro
- ./blast/links.yml:/etc/blast_links/links.yml:ro
#- /data1/slurm/slurm.conf:/etc/slurm-llnl/slurm.conf:ro # This line and following for slurm
#- /data1/slurm/gres.conf:/etc/slurm-llnl/gres.conf:ro
#- /data1/slurm/cgroup.conf:/etc/slurm-llnl/cgroup.conf:ro
#- /data1/slurm/slurmdbd.conf:/etc/slurm-llnl/slurmdbd.conf:ro
#- /data1/slurm/drmaa/:/etc/slurm-llnl/drmaa/:ro
#- /etc/munge/:/etc/munge/:ro
networks:
- traefikbig
- {{ genus_species }}
deploy:
labels:
- "traefik.http.routers.{{ genus_species }}-blast.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/{{ genus_species }}/blast`))"
{% if https_port is defined and https_port %}
- "traefik.http.routers.{{ genus_species }}-blast.tls=true"
- "traefik.http.routers.{{ genus_species }}-blast.entryPoints=webs"
- "traefik.http.routers.{{ genus_species }}-blast.middlewares=sp-big-req,sp-auth,sp-app-trailslash,sp-app-prefix"
{% else %}
- "traefik.http.routers.{{ genus_species }}-blast.entryPoints=web"

Loraine Gueguen
committed
- "traefik.http.routers.{{ genus_species }}-blast.middlewares=sp-big-req,sp-app-trailslash,sp-app-prefix"

Arthur Le Bars
committed
- "traefik.http.services.{{ genus_species }}-blast.loadbalancer.server.port=80"
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
blast-db:
image: postgres:9.5
environment:
- POSTGRES_PASSWORD=postgres
- PGDATA=/var/lib/postgresql/data/
volumes:
- ./docker_data/blast_db/:/var/lib/postgresql/data/
networks:
- {{ genus_species }}

Arthur Le Bars
committed
networks:
traefikbig:
external: true
{{ genus_species }}:
driver: overlay

Loraine Gueguen
committed
name: {{ genus_species }}