diff --git a/Dockerfile b/Dockerfile index ff245b1..ba01bbb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -FROM elasticsearch:6.5.1 +FROM elasticsearch:7.8.0 RUN echo "cluster.routing.allocation.disk.threshold_enabled: false" >> /usr/share/elasticsearch/config/elasticsearch.yml \ - && echo "y" | elasticsearch-plugin install ingest-attachment \ No newline at end of file + && echo "y" | elasticsearch-plugin install ingest-attachment diff --git a/docker-compose.yml b/docker-compose.yml index 19db691..b3dba7b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,23 +1,66 @@ -version: '2' +version: '3.7' + services: - elastic: - image: ligero/elasticsearch:6.5.1 + elasticsearch: + image: ligero/elasticsearch:7.8.0 + hostname: "node_{{.Task.Slot}}" + container_name: "node_{{.Task.Slot}}" + environment: + - cluster.name=es-cluster + - discovery.seed_hosts=tasks.elasticsearch + - cluster.initial_master_nodes=node_1 + - "ES_JAVA_OPTS=-Xms3g -Xmx3g" + - path.repo=/backups + - bootstrap.memory_lock=false + - cluster.routing.allocation.disk.threshold_enabled=false + - xpack.monitoring.enabled=false volumes: - - ligero-elastic-data:/usr/share/elasticsearch/data - - ligero-elastic-config:/usr/share/elasticsearch/config - - ligero-elastic-plugins:/usr/share/elasticsearch/plugins + - data-node:/usr/share/elasticsearch/data + - backups:/backups + networks: + - default + - web + deploy: + mode: replicated + replicas: 2 + labels: + - traefik.enable=true + - traefik.port=9200 + - traefik.frontend.rule=Host:${WEBSERVER_FQDN} + - traefik.protocol=http + - traefik.docker.network=web + - traefik.frontend.auth.basic.users=es:$$apr1$$6fZUtdag$$1.flATL/7KdtPWBHoqEIM/ + placement: + constraints: + - node.labels.database == true + + elastichq: + image: elastichq/elasticsearch-hq environment: - - cluster.name=otrs-cluster - - bootstrap.memory_lock=true - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - ulimits: - memlock: - soft: -1 - hard: -1 - + HQ_DEFAULT_URL: http://elasticsearch:9200 + networks: + - default + - web + deploy: + mode: replicated + replicas: 1 + labels: + - traefik.enable=true + - traefik.port=5000 + - traefik.frontend.rule=Host:${EDITOR_FQDN} + - traefik.protocol=http + - traefik.docker.network=web + volumes: - ligero-elastic-data: ~ - ligero-elastic-config: ~ - ligero-elastic-plugins: ~ - + data-node: + driver: local + name: 'elasticsearch-cluster-v7_node-{{.Task.Slot}}' + backups: + driver: local + + +networks: + web: + external: + name: web