# ./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 }}-galaxy.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/{{ genus_species }}/galaxy`))" {% if https_port is defined %} - "traefik.http.routers.{{ genus_species }}-galaxy.tls=true" - "traefik.http.routers.{{ genus_species }}-galaxy.entryPoints=webs" - "traefik.http.routers.{{ genus_species }}-nginx.middlewares=sp-auth,sp-app-trailslash,sp-prefix" {% else %} - "traefik.http.routers.{{ genus_species }}-galaxy.entryPoints=web" - "traefik.http.routers.{{ genus_species }}-nginx.middlewares=sp-app-trailslash,sp-prefix" # lg {% endif %} - "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 'banner' in render_vars %} - ./banner.png:/var/www/html/banner.png:ro {% endif %} #- /groups/XXX/:/groups/XXX/:ro # We do this when we have symlinks in src_data pointing to /groups/XXX/... 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_sex }} # This ENABLE_JBROWSE variable should point to the "best assembly" by default --> tag it in the input file and use it to define this variable correctly (also called # unique id in the jbrowse tool parameters == both have to be identical) {% if apollo == "True %} ENABLE_APOLLO: 1 {% else %} ENABLE_APOLLO: 0 {% endif %} {% if blast == "True" %} ENABLE_BLAST: 1 {% else %} ENABLE_BLAST: 0 {% endif %} ENABLE_DOWNLOAD: 1 {% if wiki == "True" %} ENABLE_WIKI: 1 {% else %} ENABLE_WIKI: 0 {% endif %} ENABLE_GO: 0 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 }}-galaxy.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/{{ genus_species }}/galaxy`))" {% if https_port is defined %} - "traefik.http.routers.{{ genus_species }}-galaxy.tls=true" - "traefik.http.routers.{{ genus_species }}-galaxy.entryPoints=webs" - "traefik.http.routers.{{ genus_species }}-tripal.middlewares=sp-auth,sp-trailslash,sp-prefix,tripal-addprefix" {% else %} - "traefik.http.routers.{{ genus_species }}-galaxy.entryPoints=web" - "traefik.http.routers.{{ genus_species }}-tripal.middlewares=sp-trailslash,sp-prefix,tripal-addprefix" # lg {% endif %} - "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 #deploy: #resources: #limits: #memory: 500M volumes: - ./docker_data/elastic_search_index/:/usr/share/elasticsearch/data/ environment: # bootstrap.memory_lock: "true" 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: - ../galaxy_data_libs_SI.py:/opt/galaxy_data_libs_SI.py #- ./docker_data/galaxy/:/export/ # Commented for testing TODO: Uncomment in production - ./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 GALAXY_CONFIG_BRAND: "{{ Genus }} {{ species }}" GALAXY_CONFIG_ALLOW_LIBRARY_PATH_PASTE: "True" GALAXY_CONFIG_USE_REMOTE_USER: "True" GALAXY_CONFIG_REMOTE_USER_MAILDOMAIN: "sb-roscoff.fr" GALAXY_DEFAULT_ADMIN_EMAIL: "{{ galaxy_default_admin_email }}" GALAXY_DEFAULT_ADMIN_USER: "{{ galaxy_defaut_admin_user }}" GALAXY_DEFAULT_ADMIN_PASSWORD: "{{ galaxy_default_admin_password }}" GALAXY_CONFIG_ADMIN_USERS: "admin@galaxy.org, gga@sb-roscoff.fr" # admin@galaxy.org is the default (leave it), gogepp@bipaa is a shared ldap user we use to connect GALAXY_CONFIG_MASTER_API_KEY: "{{ galaxy_config_master_api_key }}" ENABLE_FIX_PERMS: 0 PROXY_PREFIX: /sp/{{ genus_species }}/galaxy GALAXY_TRIPAL_URL: http://tripal.{{ genus_species }}/tripal/ GALAXY_TRIPAL_PASSWORD: {{ tripal_password }} # See tripal config above GALAXY_WEBAPOLLO_URL: http://one-of-the-swarm-node:8888/apollo/ GALAXY_WEBAPOLLO_USER: "{{ webapollo_user }}" GALAXY_WEBAPOLLO_PASSWORD: "{{ webapollo_password }}" # See tripal config below GALAXY_WEBAPOLLO_EXT_URL: /apollo/ GALAXY_CHADO_DBHOST: tripal-db.{{ genus_species }} 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 %} - "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" - "traefik.http.routers.{{ genus_species }}-galaxy.middlewares=sp-app-trailslash,sp-app-prefix" #lg {% endif %} - "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" 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 }}-galaxy.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/{{ genus_species }}/galaxy`))" {% if https_port is defined %} - "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" - "traefik.http.routers.{{ genus_species }}-jbrowse.middlewares=sp-app-trailslash,sp-app-prefix" #lg {% endif %} - "traefik.http.services.{{ genus_species }}-jbrowse.loadbalancer.server.port=80" restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s {% if blast == "True" %} 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' ADMIN_EMAIL: 'g.ga@sb-roscoff.fr' # email sender 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: - ../blast-themes/abims/:/var/www/blast/app/Resources/:ro # You can theme the app - /usr/local/genome2/:/usr/local/genome2/:ro # path for blast executables - /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 }}-galaxy.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/{{ genus_species }}/galaxy`))" {% if https_port is defined %} - "traefik.http.routers.{{ genus_species }}-galaxy.tls=true" - "traefik.http.routers.{{ genus_species }}-galaxy.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 }}-galaxy.entryPoints=web" - "traefik.http.routers.{{ genus_species }}-blast.middlewares=sp-big-req,sp-app-trailslash,sp-app-prefix" # lg {% endif %} - "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.6-alpine 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 }} {% endif %} # wiki: # image: quay.io/abretaud/mediawiki # environment: # MEDIAWIKI_SERVER: http://localhost # MEDIAWIKI_PROXY_PREFIX: /sp/{{ genus_species }}/wiki # MEDIAWIKI_SITENAME: {{ Genus }} {{ species }} # MEDIAWIKI_SECRET_KEY: XXXXXXXXXX # MEDIAWIKI_DB_HOST: wiki-db.{{genus_species }} # MEDIAWIKI_DB_PASSWORD: password # MEDIAWIKI_ADMIN_USER: abretaud # ldap user # depends_on: # - wiki-db # volumes: # - ./docker_data/wiki_uploads:/images # #- ../bipaa_wiki.png:/var/www/mediawiki/resources/assets/wiki.png:ro # To change the logo at the top left # networks: # - traefikbig # - {{ genus_species }} # deploy: # labels: # - "traefik.http.routers.{{ genus_species }}-blast.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/{{ genus_species }}/blast`))" # - "traefik.http.routers.{{ genus_species }}-blast.tls=true" # - "traefik.http.routers.{{ genus_species }}-blast.entryPoints={{ entrypoint }}" # - "traefik.http.routers.{{ genus_species }}-blast.middlewares=sp-big-req,sp-auth,sp-app-trailslash,sp-app-prefix" # - "traefik.http.services.{{ genus_species }}-blast.loadbalancer.server.port=80" # restart_policy: # condition: on-failure # delay: 5s # max_attempts: 3 # window: 120s # wiki-db: # image: postgres:9.6-alpine # volumes: # - ./docker_data/wiki_db/:/var/lib/postgresql/data/ # networks: # - {{ genus_species }} networks: traefikbig: external: true {{ genus_species }}: driver: overlay name: {{ genus_species }}