version: "3.6"
services:
  fluentd:
    deploy:
      placement:
        # this is not strictly required, but feels right
        constraints: [node.role == manager]

  elasticsearch:
    environment:
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "discovery.type=single-node"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    deploy:
      placement:
        constraints: [node.role == manager]
      resources:
        limits:
          memory: 1000M
  kibana:
    deploy:
      placement:
        constraints:
          - node.labels.type == external
      labels:
        # router for basic auth based access (https)
        - "traefik.http.routers.kibana.rule=Host(`kibana.pdas.prism.eox.at`)"
        - "traefik.http.routers.kibana.middlewares=apiauth@file,compress@file"
        - "traefik.http.routers.kibana.tls=true"
        - "traefik.http.routers.kibana.tls.certresolver=default"
        - "traefik.http.routers.kibana.entrypoints=https"
        - "traefik.http.services.kibana.loadbalancer.sticky=false"
        - "traefik.http.services.kibana.loadbalancer.server.port=5601"
        - "traefik.docker.lbswarm=true"
        - "traefik.enable=true"