version: '2' services: molgenis: image: registry.molgenis.org/molgenis/molgenis:latest ports: - 8080 links: - postgres - elasticsearch volumes: - molgenis-data:/opt/molgenis environment: - "db_uri=jdbc:postgresql://postgres/${DB_SCHEME}?reWriteBatchedInserts=true&autosave=CONSERVATIVE" - "db_driver=org.postgresql.Driver" - "db_user=${DB_USERNAME}" - "db_password=${DB_PASSWORD}" - "molgenis.home=/opt/molgenis" - "admin.password=${MOLGENIS_ADMIN_PASSWORD}" - "opencpu.uri.port=8004" - "elasticsearch.cluster.name=${ELASTIC_CLUSTER}" - "elasticsearch.transport.addresses=elasticsearch:9300" - "JAVA_OPTS=-Xmx${JVM_MEM_POOL} -Xms${JVM_MEM_POOL} -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled" labels: io.rancher.container.pull_image: always traefik.frontend.rule: Host:${DOMAINS} traefik.backend: ${TRAEFIK_BACKEND} traefik.enable: true traefik.port: 8080 postgres: image: postgres:9.6-alpine environment: - POSTGRES_USER=${DB_USERNAME} - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_DB=${DB_SCHEME} - PGDATA=/var/lib/postgresql/data/pgdata volumes: - postgres-data ports: - 5432 healthcheck: test: ["CMD", "curl", "sS", "http://localhost:8080"] interval: 5s timeout: 10s retries: 5 opencpu: image: registry.molgenis.org/molgenis/molgenis-opencpu:latest ports: - 8004 healthcheck: test: ["CMD", "curl", "sS", "http://localhost:8084"] interval: 5s timeout: 10s retries: 5 elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:5.5.1 environment: - "cluster.name=${ELASTIC_CLUSTER}" - "bootstrap.memory_lock=true" - "ES_JAVA_OPTS=-Xms1g -Xmx1g" - "xpack.security.enabled=false" ulimits: memlock: soft: -1 hard: -1 ports: - 9200 - 9300 volumes: - elastic-data volumes: postgres-data: driver: local molgenis-data: driver: local elastic-data: driver: local