diff --git a/docs/deploying/elasticsearch-and-kibana.md b/docs/deploying/elasticsearch-and-kibana.md new file mode 100644 index 0000000..bcad82b --- /dev/null +++ b/docs/deploying/elasticsearch-and-kibana.md @@ -0,0 +1,67 @@ +--- +layout: post +parent: Containers & Deploying +nav_order: 3 +title: "Docker Compose for Elasticsearch and Kibana 7.9" +date: 2021-07-13 21:38:05 +0100 +categories: deploying docker +--- + +# {{page.title}} + +_{{page.date}}_ + +In this post, I will cover how you can set up Elasticsearch and Kibana with a single `docker-compose.yml` file. + +## Set up and install ELK stack on Ubuntu server + +You must run `sudo sysctl -w vm.max_map_count=262144` to get Elasticsearch to work. To make this permanent, run `sudo nano /etc/sysctl.conf` and add `vm.max_map_count=262144` to the end of the file on a new line, then save and exit. + +Go to the directory with the files in. Make sure you've used SFTP to put the `docker-compose.yml` file in there first. For example you may need to use this command `cd /home/administrator/docker/elk-stack` + +Install it all with `docker-compose up -d` and you're finished! It really is that simple. + +The compose file is as below. + +```docker +version: '2.2' + +services: + + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:7.9.3 + container_name: elasticsearch + environment: + - node.name=elasticsearch + - discovery.seed_hosts=elasticsearch + - cluster.initial_master_nodes=elasticsearch + - cluster.name=docker-cluster + - bootstrap.memory_lock=true + - "ES_JAVA_OPTS=-Xms2g -Xmx2g" + ulimits: + memlock: + soft: -1 + hard: -1 + nofile: + soft: 65536 + hard: 65536 + volumes: + - esdata1:/usr/share/elasticsearch/data + ports: + - 9200:9200 + + kibana: + image: docker.elastic.co/kibana/kibana:7.9.3 + container_name: kibana + environment: + ELASTICSEARCH_URL: "http://elasticsearch:9200" + ELASTICSEARCH_SHARDTIMEOUT: 300000 + ports: + - 5601:5601 + depends_on: + - elasticsearch + +volumes: + esdata1: + driver: local +```