I am trying to deploy Elastic Enterprise but when I add the secret key... I mean, I think this needs to be an array because this is what it says here, but I a get this error message:
root@localhost:~# docker-compose -f elasticsearch-docker-compose.yml up -d
ERROR: The Compose file './elasticsearch-docker-compose.yml' is invalid because:
services.enterprisesearch.environment contains {"secret_management.encryption_keys": ["4096ea199bb51beb77d815c5da18d1aebb6e4a167dcc9b1ebd8b27723950d294"]}, which is an invalid type, it should be a string
And if I check the logs, it says:
root@localhost:~# docker logs root_enterprisesearch_1
Found java executable in PATH
Java version detected: 1.8.0_252 (major version: 8)
Enterprise Search is starting...
Invalid config file (/usr/share/enterprise-search/config/enterprise-search.yml):
The setting '#/secret_management/encryption_keys' is not valid
No secret management encryption keys were provided.
Your secrets cannot be stored unencrypted.
You can use the following generated encryption key in your config file to store new encrypted secrets:secret_management.encryption_keys: [357287e82d94dc31af06bea068ed65b297d5bc8f0a692cc48858cc9636f34950]
It doesn't matter if I use the encription key suggested, I get the same error message.
EDIT:
docker-compose.yml
version: "3.7"
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
container_name: elasticsearch
restart: always
environment:
- xpack.security.enabled=false
- discovery.type=single-node
- node.name=es-node-1
- cluster.name=app-search-docker-cluster
- bootstrap.memory_lock=true
# - elasticsearch.username:elastic
# - elasticsearch.password:changeme
- ES_JAVA_OPTS=-Xms512m -Xmx512m
- elasticsearch.host:http://xxx.xxx.xxx.xxx:9200 # My IP, replaced for security
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
cap_add:
- IPC_LOCK
volumes:
- elasticsearch-data-volume:/usr/share/elasticsearch/data
ports:
- 9200:9200
enterprisesearch:
image: docker.elastic.co/enterprise-search/enterprise-search:7.10.2
environment:
- elasticsearch.host=http://elasticsearch:9200
- allow_es_settings_modification=true
- JAVA_OPTS=-Xms2g -Xmx2g
- ent_search.auth.source:standard
- ent_search.external_url:http://xxx.xxx.xxx.xxx:3002 # My IP, replaced for security
- ent_search.listen_host:xxx.xxx.xxx.xxx # My IP, replaced for security
- ent_search.listen_port:3002
- secret_management.encryption_keys:[4096ea199bb51beb77d815c5da18d1aebb6e4a167dcc9b1ebd8b27723950d294]
ports:
- 3002:3002
depends_on:
- elasticsearch
kibana:
container_name: kibana
image: docker.elastic.co/kibana/kibana:7.10.2
restart: always
environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
- enterpriseSearch.host:http://xxx.xxx.xxx.xxx:3002 # My IP, replaced for security
ports:
- 5601:5601
depends_on:
- elasticsearch
- enterprisesearch
volumes:
elasticsearch-data-volume:
driver: local