version: "3.8" services: elasticsearch: image: "docker.elastic.co/elasticsearch/elasticsearch:8.17.2" environment: - cluster.name=docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - discovery.type=single-node # Disable authentication and ssl completely # - xpack.security.enabled=false # Use this to enable Basic Authentication: - xpack.security.enabled=true - xpack.security.http.ssl.enabled=false - ELASTIC_PASSWORD_FILE=/var/run/secrets/elasticsearch_password ulimits: memlock: soft: -1 hard: -1 volumes: - elasticsearch:/usr/share/elasticsearch/data networks: - internal secrets: - source: elasticsearch_password uid: "1000" gid: "1000" mode: 0600 searchindexer: image: nextcloud:30.0.6-fpm volumes: - nextcloud:/var/www/html/ - nextapps:/var/www/html/custom_apps:cached - nextdata:/var/www/html/data:cached - nextconfig:/var/www/html/config:cached - ${EXTRA_VOLUME} networks: - internal entrypoint: su -p www-data -s /bin/sh -c '/var/www/html/occ fulltextsearch:live' # Add the secret to the app service so it is avaiable in the # install_fulltextsearch command app: secrets: - elasticsearch_password secrets: elasticsearch_password: external: true name: ${STACK_NAME}_elasticsearch_password_${SECRET_ELASTICSEARCH_PASSWORD_VERSION} volumes: elasticsearch: