diff --git a/ucoinj-elasticsearch-plugin/pom.xml b/ucoinj-elasticsearch-plugin/pom.xml
index 06d4bcb009c5f1ee18b9a88eced32a344328302b..f4106a640d8d9a76e97102a492a40847519a491d 100644
--- a/ucoinj-elasticsearch-plugin/pom.xml
+++ b/ucoinj-elasticsearch-plugin/pom.xml
@@ -115,8 +115,9 @@
                 <ucoinj.plugins.directory>${basedir}}/src/test/es-home/plugins</ucoinj.plugins.directory>
                 <es.http.cors.allow-origin>*</es.http.cors.allow-origin>
                 <exec.args>
-                    start reset-market reset-registry index --host metab.ucoin.fr --port 9201
+                    start index --host metab.ucoin.fr --port 9201
                 </exec.args>
+                <ucoinj.log.file>${project.build.directory}/exec.log</ucoinj.log.file>
             </properties>
         </profile>
 
diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat
index 4327e736d234c195794496fb4373a6f519a2d2ef..289b26db9b10e0916e542eec40855640391e46f3 100644
--- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat
+++ b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.bat
@@ -32,7 +32,7 @@ echo .
 set OLDDIR=%CD%
 cd /d %~dp0%
 
-call "%JAVA_COMMAND%" %JAVA_OPTS% "-Ducoinj.log.file=%APP_LOG_FILE%" "-Ducoinj-elasticsearch.config=%APP_CONF_FILE%" "-Ducoinj.plugins.directory=%APP_BASEDIR%\plugins" -Djna.nosys=true -jar ucoinj-elasticsearch-plugin-${project.version}.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
+call "%JAVA_COMMAND%" %JAVA_OPTS%  "-Ducoinj.basedir=%APP_BASEDIR%" "-Ducoinj.plugins.directory=%APP_BASEDIR%\plugins" "-Ducoinj.log.file=%APP_LOG_FILE%" "-Ducoinj-elasticsearch.config=%APP_CONF_FILE%" -Ducoinj.launch.mode=full -Djna.nosys=true -Des.http.cors.allow-origin=* -jar ucoinj-elasticsearch-plugin-${project.version}.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
 set exitcode=%ERRORLEVEL%
 echo Stop with exitcode: %exitcode%
 cd %OLDDIR%
diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh
index 064c62c4da2237ebd896d7685d708b14ef29fc2b..d0fd97f8fa393b65cc5e6e897723f0caa1041e56 100644
--- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh
+++ b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj-elasticsearch.sh
@@ -25,7 +25,7 @@ if [ -d $JAVA_HOME ]; then
 	echo "launch java"
 	echo "java command: $JAVA_COMMAND"
 	
-	$JAVA_COMMAND $MEMORY $APP_JVM_OPTS -Ducoinj.log.file=$APP_LOG_FILE -Ducoinj-elasticsearch.config=$APP_CONF_FILE -Djna.nosys=true -Ducoinj.basedir=$APP_BASEDIR -Ducoinj.plugins.directory=$APP_BASEDIR/plugins -Des.http.cors.allow-origin=* -jar ucoinj-elasticsearch-plugin-${project.version}.jar $*
+	$JAVA_COMMAND $MEMORY $APP_JVM_OPTS -Ducoinj.basedir=$APP_BASEDIR -Ducoinj.plugins.directory=$APP_BASEDIR/plugins -Ducoinj.log.file=$APP_LOG_FILE -Ducoinj-elasticsearch.config=$APP_CONF_FILE -Ducoinj.launch.mode=full -Djna.nosys=true -Des.http.cors.allow-origin=* -jar ucoinj-elasticsearch-plugin-${project.version}.jar $*
 
 	exitcode=$?
 	echo "Stop ${project.name} with exitcode: $exitcode"
diff --git a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config
index 0dd9a0b52ffc737ec90419c78cdb14b92f96126f..923c0857cc657de3d48c2b387c4c39606318a43f 100644
--- a/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config
+++ b/ucoinj-elasticsearch-plugin/src/main/assembly/min/ucoinj.config
@@ -25,9 +25,10 @@
 #   By default: false
 #ucoinj.elasticsearch.embedded.enable=true
 
-# If not embedded: ES Node Host
-#   Could be override using option : '-esh <host>'
-#ucoinj.elasticsearch.host=192.168.0.5
+# ES Node Host
+#   THe node to connect (if NOT embedded node)
+#   By default: 'localhost'
+#ucoinj.elasticsearch.host=<ES_Node_IP>
 
 # If not embedded: ES Node Port
 #   Could be override using option : '-esp <port>'
@@ -43,3 +44,11 @@
 #   See ES config 'http.enable'
 #ucoinj.elasticsearch.http.enable=false
 
+# ES Node Network Host (if http enable)
+#   Allow values : (see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html)
+#     any IP address, or 'localhost'
+#     _[networkInterface]_ for addresses of a network interface, for example _eth0_ or _en0_.
+#     _local_              for any loopback addresses on the system
+#
+#   By default: '_local_'
+#ucoinj.elasticsearch.network.host=_eth0_
diff --git a/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties b/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties
index 6cf6649f438e305729b2a5e3422dc3b5b92d56aa..4fe203ed757aa9c18a64b21ab6e5dffd61d147b8 100644
--- a/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties
+++ b/ucoinj-elasticsearch/src/main/filtered-resources/log4j.properties
@@ -1,7 +1,7 @@
 
 # Global logging configuration
-#log4j.rootLogger=ERROR, stdout, file
-log4j.rootLogger=ERROR, stdout
+log4j.rootLogger=ERROR, stdout, file
+#log4j.rootLogger=ERROR, stdout
 
 # Console output
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java
index 3a06d3c95b4db7ae6a620ee04410b6efa44365f9..f4b187ed6dc942a984d4190289e2fd43d89fdf00 100644
--- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java
+++ b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/Main.java
@@ -110,7 +110,16 @@ public class Main {
             log.error(e.getMessage(), e);
         }
 
-        if (!config.isDaemon()) {
+        if (config.isDaemon()) {
+            while (true) {
+                try {
+                    Thread.sleep(5000);
+                } catch(InterruptedException e) {
+                  // Nothing
+                }
+            }
+        }
+        else {
             if (arguments.size() > 0) {
 
                 // Check if auto-quit if need
@@ -135,12 +144,10 @@ public class Main {
                     }
                 }
             }
-
-            // shutdown
-            shutdown();
-
-            log.info("uCoinj :: ElasticSearch Indexer successfully stopped");
         }
+
+        // shutdown
+        shutdown();
     }
 
     /* -- protected methods -- */
@@ -157,6 +164,8 @@ public class Main {
                 // Silent is gold
             }
         }
+
+        log.info("uCoinj :: ElasticSearch Indexer successfully stopped");
     }
 
     protected void initI18n(Configuration config) throws IOException {
diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java
index 3d8fd6a6381bed7f6cc8d71234c045ba875390c3..6dc7de12f7fdcc7d93eb338f243702e8785df756 100644
--- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java
+++ b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/Configuration.java
@@ -257,6 +257,10 @@ public class Configuration  {
         return applicationConfig.getOption(ConfigurationOption.HOST.getKey());
     }
 
+    public String getNetworkHost() {
+        return applicationConfig.getOption(ConfigurationOption.NETWORK_HOST.getKey());
+    }
+
     public int getPort() {
         return applicationConfig.getOptionAsInt(ConfigurationOption.PORT.getKey());
     }
diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java
index c7be13cde8e953aff2b1b985d05858ebc3a5c109..957492dec68fc4b5438ed4ed8275be70bd436bc1 100644
--- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java
+++ b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/config/ConfigurationOption.java
@@ -129,6 +129,13 @@ public enum ConfigurationOption  implements ConfigOptionDef {
             Integer.class,
             false),
 
+    NETWORK_HOST(
+            "ucoinj.elasticsearch.network.host",
+            n("ucoinj.config.option.elasticsearch.network.host.description"),
+            "_local_",
+            String.class,
+            false),
+
     DAEMON(
             "ucoinj.elasticsearch.daemon",
             n("ucoinj.config.option.node.elasticsearch.daemon.description"),
diff --git a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java
index 52da3a9a4a6034d177c3a120cbc9a3362be92fea..93194e3dd2a1f06e8e13e5e4694724a6444d8ace 100644
--- a/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java
+++ b/ucoinj-elasticsearch/src/main/java/io/ucoin/ucoinj/elasticsearch/service/ElasticSearchService.java
@@ -187,20 +187,21 @@ public class ElasticSearchService implements Bean,InitializingBean, Closeable {
                 .put("path.home", config.getBasedir())
                 .put("path.data", config.getDataDirectory())
                 .put("path.plugins", config.getPluginsDirectory())
-                // TODO
+                .put("http.host", config.getHost())
                 .put("http.cors.enabled", Boolean.TRUE.toString());
-        if (!local && enableHttp && StringUtils.isNotBlank(config.getHost())) {
-            builder.put("http.host", config.getHost());
-            if (!"localhost".equalsIgnoreCase(config.getHost())) {
-                builder.put("network.host", config.getHost());
+
+        // Set network host
+        if (!local && enableHttp
+                && StringUtils.isNotBlank(config.getNetworkHost())) {
+            if (!"localhost".equalsIgnoreCase(config.getNetworkHost())) {
+                builder.put("network.host", config.getNetworkHost());
             }
         }
-        Settings settings = builder.build();
 
         // Create a node builder
         NodeBuilder nodeBuilder = NodeBuilder.nodeBuilder()
                 .clusterName(clusterName)
-                .settings(settings)
+                .settings(builder.build())
                 .local(local);
 
         if (StringUtils.isNotBlank(clusterName)) {