From 2c0b4c222484d5f7660e2fe9622a5710cb3c6438 Mon Sep 17 00:00:00 2001
From: Gilles Filippini <pini@debian.org>
Date: Sun, 9 May 2021 02:56:56 +0200
Subject: [PATCH] ref(docker): move duniter.sh code into entrypoint

And link duniter binary as /usr/bin/duniter.
---
 release/docker/Dockerfile           |  7 ++-----
 release/docker/docker-entrypoint.sh | 21 +++++++++++++++++++++
 release/docker/duniter.sh           | 24 ------------------------
 3 files changed, 23 insertions(+), 29 deletions(-)
 delete mode 100644 release/docker/duniter.sh

diff --git a/release/docker/Dockerfile b/release/docker/Dockerfile
index af4de2ec1..a702099db 100644
--- a/release/docker/Dockerfile
+++ b/release/docker/Dockerfile
@@ -27,7 +27,6 @@ RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
 RUN PATH=${HOME}/.cargo/bin:${PATH} \
 	RUSTFLAGS="-C target-feature=-crt-static" \
 	make -C release ADD_DEBUG=N server-gui clean \
-	&& cp release/docker/duniter.sh work/docker.sh \
 	&& rm -rf work/extra
 
 # ------------------------------------------------------------------------------
@@ -47,10 +46,8 @@ RUN mkdir -p /var/lib/duniter /etc/duniter && chown duniter:duniter /var/lib/dun
 # copy the build artifact from the build stage
 COPY --from=build --chown=duniter:duniter /duniter/work /duniter/duniter
 
-# copy bootstrap script
-RUN cp /duniter/duniter/docker.sh /usr/bin/duniter && \
-   chmod +x /usr/bin/duniter && \
-   chown duniter:duniter /usr/bin/duniter
+# install duniter executable symlink
+RUN ln -s /duniter/duniter/bin/duniter /usr/bin/duniter
 
 # copy entrypoint
 COPY release/docker/docker-entrypoint.sh /
diff --git a/release/docker/docker-entrypoint.sh b/release/docker/docker-entrypoint.sh
index 4bf845b0b..1cef9442d 100755
--- a/release/docker/docker-entrypoint.sh
+++ b/release/docker/docker-entrypoint.sh
@@ -86,7 +86,28 @@ if [ "$auto_sync" = true ]; then
   fi
 fi
 
+# Network interface to listen to
+export DUNITER_WEB_UI_HOST="0.0.0.0"
+
+# Key file found
+if [ -f /etc/duniter/key.yml ]; then
+  export DUNITER_KEYFILE="/etc/duniter/keys.yml"
+fi
+
+# Without parameters, start with web interface
+if [ $# = 0 ]; then
+  set -- direct_webstart
+fi
+
+# Set --home option
+set -- --home "$home" "$@"
+
+# Define DUNITER_CONF_HOME
+DUNITER_CONF_HOME="/etc/duniter"
+export DUNITER_CONF_HOME
+
 # Start duniter
+cd /duniter/duniter
 echo Starting duniter with:
 echo /usr/bin/duniter "$@"
 /usr/bin/duniter "$@"
diff --git a/release/docker/duniter.sh b/release/docker/duniter.sh
deleted file mode 100644
index f98ce5933..000000000
--- a/release/docker/duniter.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-# Without parameters, start with web interface
-if [[ -z ${1} ]]; then
-	set -- direct_webstart
-fi
-
-# Define DUNITER_WEB_UI_HOST
-DUNITER_WEB_UI_HOST="0.0.0.0"
-export DUNITER_WEB_UI_HOST
-
-# Define DUNITER_CONF_HOME
-DUNITER_CONF_HOME="/etc/duniter"
-export DUNITER_CONF_HOME
-
-# Key file found
-if [[ -f /etc/duniter/key.yml ]]; then
-	DUNITER_KEYFILE="/etc/duniter/keys.yml"
-	export DUNITER_KEYFILE
-fi
-
-# Start duniter
-cd /duniter/duniter/
-bin/duniter --home /var/lib/duniter "$@"
-- 
GitLab