Browse Source

[fix] docker-entrypoint.sh -h hangs if searx is a valid user (#2099)

Implement a more robust detection if a process runs inside or outside of a
docker image.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Markus Heiser 4 years ago
parent
commit
9b9b5e9625
1 changed files with 6 additions and 6 deletions
  1. 6 6
      dockerfiles/docker-entrypoint.sh

+ 6 - 6
dockerfiles/docker-entrypoint.sh

@@ -15,21 +15,21 @@ help() {
 	printf "  BIND_ADDRESS  uwsgi bind to the specified TCP socket using HTTP protocol. Default value: \"${DEFAULT_BIND_ADDRESS}\"\n"
 	printf "\nVolume:\n\n"
 	printf "  /etc/searx    the docker entry point copies settings.yml and uwsgi.ini in this directory (see the -f command line option)\n"
+	echo
 	exit 0
 }
 
+if ! grep docker /proc/1/cgroup -qa; then
+    help
+fi
+
 export DEFAULT_BIND_ADDRESS="0.0.0.0:8080"
 if [ -z "${BIND_ADDRESS}" ]; then
     export BIND_ADDRESS="${DEFAULT_BIND_ADDRESS}"
 fi
 
 export SEARX_VERSION=$(su searx -c 'python3 -c "import six; import searx.version; six.print_(searx.version.VERSION_STRING)"' 2>/dev/null)
-if [ -z "${SEARX_VERSION}" ]; then
-	# outside docker, display help
-	help
-else
-	printf 'searx version %s\n\n' "${SEARX_VERSION}"
-fi
+printf 'searx version %s\n\n' "${SEARX_VERSION}"
 
 export UWSGI_SETTINGS_PATH=/etc/searx/uwsgi.ini
 export SEARX_SETTINGS_PATH=/etc/searx/settings.yml