[Unit] Description=Elasticsearch Service Documentation=http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html After=docker.service Requires=docker.service Requires=elasticsearch-data@%i.service Requires=elasticsearch-discovery@%i.service [Service] TimeoutSec=0 Restart=always RestartSec=1m EnvironmentFile=/etc/environment SuccessExitStatus=255 ExecStartPre=-/usr/bin/docker kill %p-%i ExecStartPre=-/usr/bin/docker rm %p-%i ExecStartPre=/usr/bin/docker pull digitalwonderland/elasticsearch ExecStart=/bin/bash -c '\ curl -f ${COREOS_PRIVATE_IPV4}:4001/v2/keys/services/elasticsearch; \ if [ "$?" = "0" ]; then \ UNICAST_HOSTS=$(etcdctl ls --recursive /services/elasticsearch \ | sed "s/\/services\/elasticsearch\///g" \ | sed "s/$/:9300/" \ | paste -s -d","); \ else \ UNICAST_HOSTS=""; \ fi; \ /usr/bin/docker run \ --rm \ --name %p-%i \ --publish 9200:9200 \ --publish 9300:9300 \ --volumes-from elasticsearch-data-%i \ -e ELASTICSEARCH_CLUSTER_NAME=logstash \ digitalwonderland/elasticsearch \ -Des.node.name=%p-%i \ -Des.network.publish_host=${COREOS_PRIVATE_IPV4} \ -Des.discovery.zen.ping.multicast.enabled=false \ -Des.discovery.zen.ping.unicast.hosts=$UNICAST_HOSTS' ExecStop=/usr/bin/docker stop %p-%i ExecStopPost=-/usr/bin/docker rm %p-%i [X-Fleet] Conflicts=%p@*.service