Skip to content
Snippets Groups Projects
orthology_compose.yml.j2 6.68 KiB
# ./docker_data is created and filled with persistent data that should be backuped

version: '3.7'
services:
    tripal:
        image: quay.io/galaxy-genome-annotation/tripal:v2.x
        depends_on:
            - tripal-db
        volumes:
            - ./docker_data/galaxy/:/export/:ro
            - ./src_data/:/data/:ro
        environment:
            DB_HOST: tripal-db.orthology
            BASE_URL_PATH: /sp/orthology
            UPLOAD_LIMIT: 20M
            MEMORY_LIMIT: 512M
            TRIPAL_GIT_CLONE_MODULES: "https://github.com/abretaud/tripal_rest_api.git[@c6f9021ea5d4c6d7c67c5bd363a7dd9359228bbc] https://github.com/abretaud/tripal_linkout.git[@91e08a11b788f005631cc0fafa4d68b1d2ce3ceb] https://github.com/abretaud/tripal_phylotree.git[@4cad769c9deaa5cd2933e1ae29be6aea8c8c0cc2]"
            TRIPAL_DOWNLOAD_MODULES: ""
            TRIPAL_ENABLE_MODULES: "tripal_rest_api tripal_phylotree tripal_linkout"
            SITE_NAME: "Orthology"
            ENABLE_JBROWSE: 0
            ENABLE_APOLLO: 0
            ENABLE_BLAST: 0
            ENABLE_DOWNLOAD: 0
            ENABLE_WIKI: 0
            ENABLE_GO: 0
            ENABLE_ORTHOLOGY: 1
            # Must match the SITE_NAME in the gcv part
            GCV_SITE_NAME: "example"
            # Use this to point to the external adress of your main tripal host
            MAIN_TRIPAL_URL: "http://{{ hostname }}"
            #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
            - orthology
        deploy:
          labels:
            - "traefik.http.routers.orthology-tripal.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/orthology`))"
            - "traefik.http.routers.orthology-tripal.tls=true"
            - "traefik.http.routers.orthology-tripal.entryPoints=webs"
            - "traefik.http.routers.orthology-tripal.middlewares=sp-auth,sp-trailslash,sp-prefix,tripal-addprefix"
            - "traefik.http.services.orthology-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-jenkins21-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
            - INSTALL_YEAST_DATA=0
        volumes:
            - ./docker_data/tripal_db/:/var/lib/postgresql/data/
        networks:
            - orthology

    gcv:
        image: quay.io/abretaud/lis-gcv
        depends_on:
            - tripal-db
        environment:
            DB_HOST: tripal-db.orthology
            HOST: {{ hostname }}
            SITE_NAME: example
            SITE_FULL_NAME: example
            DEBUG: "false"
            GCV_URL: http://{{ hostname }}/sp/orthology/gcv
            SERVICES_URL: http://{{ hostname }}/sp/orthology/gcv_api/services
            TRIPAL_URL: http://{{ hostname }}/sp/orthology/
            USE_GENE_UNAME: "true"
        networks:
            - traefikbig
            - orthology
        deploy:
          labels:
            - "traefik.http.routers.orthology-gcv.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/orthology/gcv`))"
            - "traefik.http.routers.orthology-gcv.tls=true"
            - "traefik.http.routers.orthology-gcv.entryPoints=webs"
            - "traefik.http.routers.orthology-gcv.service=orthology-gcv"
            - "traefik.http.routers.orthology-gcv.middlewares=sp-auth,sp-app-trailslash,sp-app-prefix"
            - "traefik.http.services.orthology-gcv.loadbalancer.server.port=80"

            - "traefik.http.routers.orthology-gcv-api.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/orthology/gcv_api`))"
            - "traefik.http.routers.orthology-gcv-api.tls=true"
            - "traefik.http.routers.orthology-gcv-api.entryPoints=webs"
            - "traefik.http.routers.orthology-gcv-api.service=orthology-gcv-api"
            - "traefik.http.routers.orthology-gcv-api.middlewares=sp-auth,sp-app-trailslash,sp-app-prefix"
            - "traefik.http.services.orthology-gcv-api.loadbalancer.server.port=8000"
          restart_policy:
            condition: on-failure
            delay: 5s
            max_attempts: 3
            window: 120s

    galaxy:
        image: quay.io/galaxy-genome-annotation/docker-galaxy-annotation:gmod
        volumes:
            - ../galaxy_data_libs_SI.py:/opt/setup_data_libraries.py
            - ./docker_data/galaxy/:/export/
            - ./src_data/:/project_data/:ro
            #- /groups/XXX/:/groups/XXX/:ro  # We do this when we have symlinks in src_data pointing to /groups/XXX/...
        environment:
            NONUSE: nodejs,proftp,reports,condor
            GALAXY_LOGGING: full
            GALAXY_CONFIG_BRAND: "Orthology"
            GALAXY_CONFIG_ALLOW_LIBRARY_PATH_PASTE: "True"
            GALAXY_CONFIG_USE_REMOTE_USER: "True"
            GALAXY_CONFIG_REMOTE_USER_MAILDOMAIN: "bipaa"
            GALAXY_CONFIG_ADMIN_USERS: "admin@galaxy.org,gogepp@bipaa"   # admin@galaxy.org is the default (leave it), gogepp@bipaa is a shared ldap user we use to connect
            ENABLE_FIX_PERMS: 0
            PROXY_PREFIX: /sp/orthology/galaxy
            GALAXY_TRIPAL_URL: http://tripal.orthology/tripal/
            GALAXY_TRIPAL_PASSWORD: {{ tripal_password }}  # See tripal config above
            GALAXY_CHADO_DBHOST: tripal-db.orthology
            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
            - orthology
        deploy:
          labels:
            - "traefik.http.routers.orthology-galaxy.rule=(Host(`{{ hostname }}`) && PathPrefix(`/sp/orthology/galaxy`))"
            - "traefik.http.routers.orthology-galaxy.tls=true"
            - "traefik.http.routers.orthology-galaxy.entryPoints=webs"
            - "traefik.http.routers.orthology-galaxy.middlewares=sp-auth,sp-app-trailslash,sp-app-prefix"
            - "traefik.http.services.orthology-galaxy.loadbalancer.server.port=80"
          restart_policy:
            condition: on-failure
            delay: 5s
            max_attempts: 3
            window: 120s

networks:
    traefikbig:
        external: true
    orthology:
        driver: overlay
        name: orthology