Skip to content

Instantly share code, notes, and snippets.

@shamera82
Created February 6, 2020 23:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shamera82/11843d462dadf0880fe168a01a2f6213 to your computer and use it in GitHub Desktop.
Save shamera82/11843d462dadf0880fe168a01a2f6213 to your computer and use it in GitHub Desktop.
---
version: '3.6'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:${TAG}
# deploy:
# resources:
# limits:
# cpus: '0.33'
# memory: 1524M
# reservations:
# cpus: '0.10'
# memory: 1024M
container_name: elasticsearch
environment:
- cluster.name=es-cluster
- node.name=elasticsearch
- http.port=9550
- discovery.seed_hosts=172.20.1.3:9300,172.20.1.4:9300
- cluster.initial_master_nodes=172.20.1.2,172.20.1.3,172.20.1.4
- discovery.seed_resolver.timeout=10s
- logger.level=WARN
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
- xpack.security.enabled=false
- http.cors.enabled=true
- http.cors.allow-origin=*
- path.repo=/usr/share/elasticsearch/es_snap_backup
ulimits:
memlock:
soft: -1
hard: -1
ports:
- "9550:9550"
networks:
stack:
ipv4_address: 172.20.1.2
restart: always
volumes:
- type: volume
source: es_data
target: /usr/share/elasticsearch/data
- './es_snap_backup:/usr/share/elasticsearch/es_snap_backup:rw'
healthcheck:
test: ["CMD-SHELL", "curl --silent --fail localhost:9550/_cluster/health || exit 1"]
interval: 30s
timeout: 30s
retries: 5
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:${TAG}
# deploy:
# resources:
# limits:
# cpus: '0.33'
# memory: 1524M
# reservations:
# cpus: '0.10'
# memory: 1024M
container_name: elasticsearch2
environment:
- cluster.name=es-cluster
- node.name=elasticsearch2
- discovery.seed_hosts=172.20.1.2:9300,172.20.1.4:9300
- cluster.initial_master_nodes=172.20.1.2,172.20.1.3,172.20.1.4
- discovery.seed_resolver.timeout=10s
- logger.level=WARN
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
- xpack.security.enabled=false
- http.cors.enabled=true
- http.cors.allow-origin=*
- path.repo=/usr/share/elasticsearch/es_snap_backup
ulimits:
memlock:
soft: -1
hard: -1
networks:
stack:
ipv4_address: 172.20.1.3
restart: always
volumes:
- type: volume
source: es_data2
target: /usr/share/elasticsearch/data
- './es_snap_backup:/usr/share/elasticsearch/es_snap_backup:rw'
# healthcheck:
# test: ["CMD-SHELL", "curl --silent --fail localhost:9550/_cluster/health || exit 1"]
# interval: 30s
# timeout: 30s
# retries: 5
elasticsearch3:
image: docker.elastic.co/elasticsearch/elasticsearch:${TAG}
# deploy:
# resources:
# limits:
# cpus: '0.33'
# memory: 1524M
# reservations:
# cpus: '0.10'
# memory: 1024M
container_name: elasticsearch3
environment:
- cluster.name=es-cluster
- node.name=elasticsearch3
- discovery.seed_hosts=172.20.1.2:9300,172.20.1.3:9300
- cluster.initial_master_nodes=172.20.1.2,172.20.1.3,172.20.1.4
- discovery.seed_resolver.timeout=10s
- logger.level=WARN
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
- xpack.security.enabled=false
- http.cors.enabled=true
- http.cors.allow-origin=*
- path.repo=/usr/share/elasticsearch/es_snap_backup
ulimits:
memlock:
soft: -1
hard: -1
networks:
stack:
ipv4_address: 172.20.1.4
restart: always
volumes:
- type: volume
source: es_data3
target: /usr/share/elasticsearch/data
- './es_snap_backup:/usr/share/elasticsearch/es_snap_backup:rw'
# healthcheck:
# test: ["CMD-SHELL", "curl --silent --fail localhost:9550/_cluster/health || exit 1"]
# interval: 30s
# timeout: 30s
# retries: 5
kibana:
image: docker.elastic.co/kibana/kibana:${TAG}
# deploy:
# resources:
# limits:
# cpus: '0.10'
# memory: 350M
# reservations:
# cpus: '0.02'
# memory: 100M
container_name: kibana
environment:
SERVER_NAME: "kibana"
SERVER_PORT: 9548
ELASTICSEARCH_PASSWORD: ${ES_PASSWORD}
ELASTICSEARCH_HOSTS: "http://elasticsearch:9550"
KIBANA_DEFAULTAPPID: "dashboard/Default"
LOGGING_VERBOSE: "true"
#LOGGING_QUIET: "true"
XPACK_GRAPH_ENABLED: "false"
XPACK_INFRA_ENABLED: "false"
XPACK_MONITORING_ENABLED: "false"
XPACK_SECURITY_ENABLED: "false"
XPACK_SECURITY_ENCRYPTIONKEY: ${KIBANA_XPACK_SEC_KEY}
XPACK_SECURITY_SESSIONTIMEOUT: 600000
ports:
- "9548:9548"
networks:
stack:
ipv4_address: 172.20.1.5
restart: always
volumes:
- type: volume
source: kibana_data
target: /usr/share/kibana/data
depends_on:
- elasticsearch
healthcheck:
test: ["CMD-SHELL", "curl -s --fail localhost:9548/api/status"]
interval: 30s
timeout: 30s
retries: 5
logstash:
image: docker.elastic.co/logstash/logstash:${TAG}
# deploy:
# resources:
# limits:
# cpus: '0.90'
# memory: 1300M
# reservations:
# cpus: '0.10'
# memory: 100M
container_name: logstash
environment:
ELASTICSEARCH_PASSWORD: ${ES_PASSWORD}
LS_JAVA_OPTS: "-Xms256m -Xmx1024m -XX:+DisableExplicitGC"
ports:
- "9547:9547"
networks:
stack:
ipv4_address: 172.20.1.6
restart: always
volumes:
- './config/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml:ro'
- './config/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf:ro'
- './config/ssl_certs/logstash.crt:/usr/share/logstash/logstash.crt:ro'
- './config/ssl_certs/logstash.key:/usr/share/logstash/logstash.key:ro'
- './config/logstash/student.json:/usr/share/logstash/student.json:ro'
depends_on:
- elasticsearch
healthcheck:
test: bin/logstash -t
interval: 60s
timeout: 50s
retries: 5
networks:
stack:
ipam:
config:
- subnet: 172.20.1.0/24
volumes:
es_data:
driver: local
es_data2:
driver: local
es_data3:
driver: local
kibana_data:
driver: local
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment