diff --git a/elasticsearch/.example.env b/elasticsearch/.example.env new file mode 100644 index 0000000..5c27ef5 --- /dev/null +++ b/elasticsearch/.example.env @@ -0,0 +1,17 @@ +discovery.type=single-node +bootstrap.memory_lock=true +ES_JAVA_OPTS=-Xms512m -Xmx512m +node.name=elasticsearch +cluster.name=es-cluster +ELASTIC_PASSWORD=secret +xpack.security.enabled=true +xpack.security.http.ssl.enabled=true +xpack.security.http.ssl.key=/usr/share/elasticsearch/config/certificates/elasticsearch/elasticsearch.key +xpack.security.http.ssl.certificate_authorities=/usr/share/elasticsearch/config/certificates/ca/ca.crt +xpack.security.http.ssl.certificate=/usr/share/elasticsearch/config/certificates/elasticsearch/elasticsearch.crt +xpack.security.http.ssl.client_authentication=optional +xpack.security.transport.ssl.enabled=true +xpack.security.transport.ssl.verification_mode=certificate +xpack.security.transport.ssl.certificate_authorities=/usr/share/elasticsearch/config/certificates/ca/ca.crt +xpack.security.transport.ssl.certificate=/usr/share/elasticsearch/config/certificates/elasticsearch/elasticsearch.crt +xpack.security.transport.ssl.key=/usr/share/elasticsearch/config/certificates/elasticsearch/elasticsearch.key diff --git a/elasticsearch/compose.elasticsearch.example.yaml b/elasticsearch/compose.elasticsearch.example.yaml new file mode 100644 index 0000000..b07df42 --- /dev/null +++ b/elasticsearch/compose.elasticsearch.example.yaml @@ -0,0 +1,32 @@ +volumes: + elasticsearch-data: + driver: local + elasticsearch-logs: + driver: local + +services: + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_KIBANA_IMAGE_TAG:-8.15.2} + env_file: + - .env + networks: + common-net: + aliases: + - common-elasticsearch + volumes: + - elasticsearch-data:/usr/share/elasticsearch/data/ + - elasticsearch-logs:/usr/share/elasticsearch/logs/ + - ../.commons/certs/elasticsearch:/usr/share/elasticsearch/config/certificates/elasticsearch + - ../.commons/certs/ca:/usr/share/elasticsearch/config/certificates/ca + ulimits: + nofile: + soft: 65536 + hard: 65536 + memlock: + soft: -1 + hard: -1 + healthcheck: + test: curl --cacert /usr/share/elasticsearch/config/certificates/ca/ca.crt -s https://localhost:9200 > /dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi + interval: 30s + timeout: 10s + retries: 5 diff --git a/kibana/.example.env b/kibana/.example.env new file mode 100644 index 0000000..e2be7dc --- /dev/null +++ b/kibana/.example.env @@ -0,0 +1,10 @@ +# - SERVER_HOST=0 +SERVERNAME=kibana +ELASTICSEARCH_URL=https://common-elasticsearch:9200 +ELASTICSEARCH_HOSTS=https://common-elasticsearch:9200 +ELASTICSEARCH_USERNAME=elastic +ELASTICSEARCH_PASSWORD=secret +SERVER_SSL_ENABLED=true +SERVER_SSL_CERTIFICATE=/usr/share/elasticsearch/config/certificates/kibana/kibana.crt +SERVER_SSL_KEY=/usr/share/elasticsearch/config/certificates/kibana/kibana.key +ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=/usr/share/elasticsearch/config/certificates/ca/ca.crt diff --git a/kibana/compose.kibana.example.yaml b/kibana/compose.kibana.example.yaml new file mode 100644 index 0000000..a170418 --- /dev/null +++ b/kibana/compose.kibana.example.yaml @@ -0,0 +1,14 @@ +services: + kibana: + image: docker.elastic.co/kibana/kibana:${ELASTICSEARCH_KIBANA_IMAGE_TAG:-8.15.2} + env_file: + - .env + depends_on: + - elasticsearch + networks: + - common-net + ports: + - ${KIBANA_PUBLISH_PORT:-5601}:5601 + volumes: + - ../.commons/certs/kibana:/usr/share/elasticsearch/config/certificates/kibana + - ../.commons/certs/ca:/usr/share/elasticsearch/config/certificates/ca