version: "3.6"
services:
  fluentd:
    image: registry.gitlab.eox.at/esa/prism/vs/fluentd:latest
    configs:
      - source: fluentd-conf
        target: /fluentd/etc/fluent.conf
    ports:
      - "24224:24224"
    networks:
      - logging
    deploy:
      replicas: 1
    logging:
      # fluentd can't start logging to itself
      driver: "json-file"
  elasticsearch:
    image: elasticsearch:7.9.0
    networks:
      - logging
    environment:
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms256m -Xmx256m"
      - "discovery.type=single-node"
    deploy:
      replicas: 1
      resources:
        limits:
          memory: 500M
    volumes:
      - es-data:/usr/share/elasticsearch/data
    logging:
      # there are startup issues if ES tried to log to fluentd
      driver: "json-file"
  kibana:
    image: kibana:7.9.0
    logging:
      driver: "fluentd"
    networks:
      - logging
    deploy:
      replicas: 1
    configs:
      - source: kibana-conf
        target: /usr/share/kibana/config/kibana.yml
configs:
  fluentd-conf:
    file: ./fluentd/conf/fluent.conf
  kibana-conf:
    file: ./config/kibana.yml
volumes:
  es-data:
networks:
  logging:
