diff --git a/recipes/Dockerfile.pasteurjanelia b/recipes/Dockerfile.pasteurjanelia
index c3463742977df08e32d8a3c090524b7ce92e427f..64924602d24a6ad3087c08e86a79eeaebc48d865 100644
--- a/recipes/Dockerfile.pasteurjanelia
+++ b/recipes/Dockerfile.pasteurjanelia
@@ -9,7 +9,7 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \
 
 RUN apt-get update \
  && apt-get install --no-install-recommends -y make wget unzip \
- && if ! command -v poetry; then \
+ && if ! command -v poetry &>/dev/null; then \
     apt-get install --no-install-recommends -y python3-dev python3-pip \
  && pip install "poetry==$POETRY_VERSION"; \
     fi \
diff --git a/scripts/install.sh b/scripts/install.sh
index af1f164f583f0d90ed1d8c1454c416a5ac2fd915..fead1e9c41cb938b2f2a885a57d772688feacfb3 100755
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -4,9 +4,13 @@
 
 if [ -z "$BIN_DIR" ]; then
   BIN_DIR=~/.local/bin
+else
+  echo "Using environment variable: BIN_DIR= $BIN_DIR"
 fi
 if [ -z "$LARVATAGGER_PATH" ]; then
   LARVATAGGER_PATH=~/.local/share/larvatagger
+else
+  echo "Using environment variable: LARVATAGGER_PATH= $LARVATAGGER_PATH"
 fi
 
 if [ "$1" = "--uninstall" ]; then
@@ -21,52 +25,62 @@ if [ "$1" = "--uninstall" ]; then
 else
 
 PYTHON_VERSION=3.8
+# the internal_<VAR> variables need to be set non-empty only if
+# the corresponding <VAR> variable is non-empty; they are used to
+# determine whether or not to report externally sourced variables
+internal_WITH_BACKEND=
+internal_MAGGOTUBA_ADAPTER_BRANCH=
 for arg in "$@"; do
   if [ "$arg" = "--with-default-backend" ]; then
     WITH_BACKEND=1
+    internal_WITH_BACKEND=1
     MAGGOTUBA_CORE_BRANCH=
     MAGGOTUBA_ADAPTER_BRANCH=
     break
   elif [ "$arg" = "--with-backend" ]; then
     WITH_BACKEND=1
+    internal_WITH_BACKEND=1
   elif [ "$arg" = "--experimental" ]; then
     MAGGOTUBA_CORE_BRANCH=
     MAGGOTUBA_ADAPTER_BRANCH=torch2
+    internal_MAGGOTUBA_ADAPTER_BRANCH=1
     PYTHON_VERSION=3.11
   fi
 done
 
-if ! command -v curl >/dev/null; then
-  if command -v brew >/dev/null; then
+if ! command -v curl &>/dev/null; then
+  if command -v brew &>/dev/null; then
     # macOS users are not given the choice as they usually do not care about freedom
     brew install curl
   fi
 fi
-if ! command -v curl >/dev/null; then
+if ! command -v curl &>/dev/null; then
   echo "Command curl required; aborting"
 else
 
 check_brew() {
   if [ "`uname`" = "Darwin" ]; then
     # macOS
-    if ! command -v brew >/dev/null; then
+    if ! command -v brew &>/dev/null; then
       echo "Installing Homebrew; admin rights will be requested"
       /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
     fi
   fi
 }
 
-if ! command -v realpath >/dev/null; then
+if ! command -v realpath &>/dev/null; then
   # macOS
   check_brew
-  if command -v brew >/dev/null; then
+  if command -v brew &>/dev/null; then
     brew install coreutils
   fi
 fi
 
-if ! command -v julia >/dev/null; then
+if ! command -v julia &>/dev/null; then
   if [ -z "$JULIA_INSTALL_ARGS" ]; then
     JULIA_INSTALL_ARGS=-y
+  else
+    echo "Using environment variable: JULIA_INSTALL_ARGS= $JULIA_INSTALL_ARGS"
   fi
   curl -fsSL https://install.julialang.org | sh -s -- $JULIA_INSTALL_ARGS
   if [ -f ~/.bashrc ]; then
@@ -80,8 +94,8 @@ if [ -n "$WITH_BACKEND" ]; then
   if [ "`uname`" = "Darwin" ]; then
     echo "WARNING: the default tagging backend is not supported by macOS"
   fi
-  if ! command -v python$PYTHON_VERSION >/dev/null; then
-    if command -v pyenv >/dev/null; then
+  if ! command -v python$PYTHON_VERSION &>/dev/null; then
+    if command -v pyenv &>/dev/null; then
       [ `pyenv versions | grep $PYTHON_VERSION` ] || pyenv install $PYTHON_VERSION
     elif [[ "`uname -r`" =~ "-microsoft-standard-WSL2" ]]; then
       echo
@@ -96,21 +110,21 @@ if [ -n "$WITH_BACKEND" ]; then
       eval "$(~/.pyenv/bin/pyenv init -)"
       cat <<"EOF" >>~/.bashrc
 
-command -v pyenv >/dev/null || export PATH=~/.pyenv/bin:$PATH
+command -v pyenv &>/dev/null || export PATH=~/.pyenv/bin:$PATH
 eval "$(~/.pyenv/bin/pyenv init -)"
 EOF
       pyenv install $PYTHON_VERSION
     else
       check_brew
-      if command -v brew >/dev/null; then
+      if command -v brew &>/dev/null; then
         brew install python@$PYTHON_VERSION
       else
         echo "WARNING: command python$PYTHON_VERSION not found"
       fi
     fi
   fi
-  if ! command -v poetry >/dev/null; then
-    if command -v pipx >/dev/null; then
+  if ! command -v poetry &>/dev/null; then
+    if command -v pipx &>/dev/null; then
       pipx install poetry
     else
       curl -fsSL https://install.python-poetry.org | python3 -
@@ -127,6 +141,7 @@ else
   if [ -z "$PLANARLARVAE_BRANCH" ]; then
     PLANARLARVAE_BRANCH=main
   else
+    echo "Using environment variable: PLANARLARVAE_BRANCH= $PLANARLARVAE_BRANCH"
     curl -fsSL https://gitlab.pasteur.fr/nyx/planarlarvae.jl/-/archive/${PLANARLARVAE_BRANCH}/planarlarvae.jl-${PLANARLARVAE_BRANCH}.tar.gz | tar zxv
     mv planarlarvae.jl-${PLANARLARVAE_BRANCH} PlanarLarvae
   fi
@@ -137,6 +152,8 @@ if [ -d LarvaTagger.jl ]; then
 else
   if [ -z "$LARVATAGGER_BRANCH" ]; then
     LARVATAGGER_BRANCH=dev
+  else
+    echo "Using environment variable: LARVATAGGER_BRANCH= $LARVATAGGER_BRANCH"
   fi
   curl -fsSL https://gitlab.pasteur.fr/nyx/larvatagger.jl/-/archive/${LARVATAGGER_BRANCH}/larvatagger.jl-${LARVATAGGER_BRANCH}.tar.gz | tar zxv
   mv larvatagger.jl-${LARVATAGGER_BRANCH} LarvaTagger.jl
@@ -155,9 +172,11 @@ EOF
 
 else
 
+[ -z "$internal_WITH_BACKEND" ] && echo "Using environment variable: WITH_BACKEND= $WITH_BACKEND"
+
 activate() {
   # pyenv activation is necessary on WSL
-  command -v pyenv >/dev/null && pyenv local $PYTHON_VERSION
+  command -v pyenv &>/dev/null && pyenv local $PYTHON_VERSION
   poetry env use $PYTHON_VERSION
 }
 
@@ -166,6 +185,8 @@ if [ -d TaggingBackends ]; then
 else
   if [ -z "$TAGGINGBACKENDS_BRANCH" ]; then
     TAGGINGBACKENDS_BRANCH=main
+  else
+    echo "Using environment variable: TAGGINGBACKENDS_BRANCH= $TAGGINGBACKENDS_BRANCH"
   fi
   curl -fsSL https://gitlab.pasteur.fr/nyx/TaggingBackends/-/archive/${TAGGINGBACKENDS_BRANCH}/TaggingBackends-${TAGGINGBACKENDS_BRANCH}.tar.gz | tar zxv
   mv TaggingBackends-${TAGGINGBACKENDS_BRANCH} TaggingBackends
@@ -180,6 +201,7 @@ else
   if [ -z "$MAGGOTUBA_CORE_BRANCH" ]; then
     MAGGOTUBA_CORE_BRANCH=main
   else
+    echo "Using environment variable: MAGGOTUBA_CORE_BRANCH= $MAGGOTUBA_CORE_BRANCH"
     curl -fsSL https://gitlab.pasteur.fr/nyx/maggotuba-core/-/archive/${MAGGOTUBA_CORE_BRANCH}/maggotuba-core-${MAGGOTUBA_CORE_BRANCH}.tar.gz | tar zxv
     mv maggotuba-core-${MAGGOTUBA_CORE_BRANCH} MaggotUBA-core
   fi
@@ -190,6 +212,8 @@ if [ -d MaggotUBA ]; then
 else
   if [ -z "$MAGGOTUBA_ADAPTER_BRANCH" ]; then
     MAGGOTUBA_ADAPTER_BRANCH=main
+  elif [ -z "$internal_MAGGOTUBA_ADAPTER_BRANCH" ]; then
+    echo "Using environment variable: MAGGOTUBA_ADAPTER_BRANCH= $MAGGOTUBA_ADAPTER_BRANCH"
   fi
   curl -fsSL https://gitlab.pasteur.fr/nyx/MaggotUBA-adapter/-/archive/${MAGGOTUBA_ADAPTER_BRANCH}/MaggotUBA-adapter-${MAGGOTUBA_ADAPTER_BRANCH}.tar.gz | tar zxv
   mv MaggotUBA-adapter-${MAGGOTUBA_ADAPTER_BRANCH} MaggotUBA #-adapter
@@ -213,22 +237,29 @@ fi
 
 chmod a+x "$BIN_DIR/larvatagger"
 
-if ! command -v larvatagger >/dev/null; then
-  # ~/.local/bin not in $PATH?
-  if [ "$SHELL" = "/bin/zsh" ]; then
-    rcfile=~/.zshrc
-  elif [ "$SHELL" = "/bin/bash" ]; then
-    if [ -f ~/.bashrc ]; then
-      rcfile=~/.bashrc
-    elif [ -f ~/.bash_profile ]; then
-      rcfile=~/.bash_profile
+if ! command -v larvatagger &>/dev/null; then
+  if [ "`realpath $BIN_DIR`" = "`realpath ~/.local/bin`" ]; then
+    # ~/.local/bin not in $PATH?
+    if [ "$SHELL" = "/bin/zsh" ]; then
+      rcfile=~/.zshrc
+    elif [ "$SHELL" = "/bin/bash" ]; then
+      if [ -f ~/.bashrc ]; then
+        rcfile=~/.bashrc
+      elif [ -f ~/.bash_profile ]; then
+        rcfile=~/.bash_profile
+      fi
     fi
-  fi
-  cat <<"EOF" >>$rcfile
+    echo "Extending the PATH environment variable in $rcfile"
+    cat <<"EOF" >>$rcfile
 
 export PATH=$PATH:~/.local/bin
 EOF
-  export PATH=$PATH:~/.local/bin
+  else
+    echo "the larvatagger command is available in directory:"
+    echo "  $BIN_DIR"
+    echo "consider adding the directory to the PATH variable"
+  fi
+  export PATH=$PATH:$BIN_DIR
 fi
 
 ##
diff --git a/scripts/larvatagger.sh b/scripts/larvatagger.sh
index a261c70bdf86db7854c25d1e7399a0d8c61f341c..af552f9aaa6bfc8fa595e7cf25302125675b1534 100755
--- a/scripts/larvatagger.sh
+++ b/scripts/larvatagger.sh
@@ -45,14 +45,15 @@ if [ -z "$without_rm" ]; then
 fi
 
 if [ -z "$docker" ]; then
-  if docker --version &> /dev/null; then
-    docker=docker
-  else
+  docker=docker
+  if command -v podman &> /dev/null; then
     docker=podman
     if [ "$cmd" != "build" ]; then
       DOCKER_ARGS="${DOCKER_ARGS}--security-opt label=disable "
     fi
   fi
+else
+  echo "Using environment variable: docker= $docker"
 fi
 
 if [ -z "$LARVATAGGER_IMAGE" ]; then
@@ -61,6 +62,8 @@ LARVATAGGER_IMAGE=larvatagger
 else
 LARVATAGGER_IMAGE=flaur/larvatagger
 fi
+else
+echo "Using environment variable: LARVATAGGER_IMAGE= $LARVATAGGER_IMAGE"
 fi
 
 HOST_UID=$(id -u $USER)
@@ -104,7 +107,10 @@ DOCKER_ARGS="--target $TARGET $DOCKER_ARGS"
 fi
 if [ -z "$DOCKERFILE" ]; then
   DOCKERFILE=recipes/Dockerfile
+else
+  echo "Using environment variable DOCKERFILE= $DOCKERFILE"
 fi
+DOCKER_ARGS="-f \"$DOCKERFILE\" $DOCKER_ARGS"
 if [ "$BUILD" == "--dev" ]; then
 if ! [[ "$LARVATAGGER_IMAGE" == *:* ]]; then LARVATAGGER_IMAGE="${LARVATAGGER_IMAGE}:dev"; fi
 PROJECT_ROOT=$(basename $(pwd))
@@ -112,7 +118,7 @@ cd ..
 DOCKER_BUILDKIT=1 $docker build -t "$LARVATAGGER_IMAGE" -f "$PROJECT_ROOT/recipes/Dockerfile.local" ${DOCKER_ARGS}.
 elif [ "$BUILD" == "--stable" ]; then
 if ! [[ "$LARVATAGGER_IMAGE" == *:* ]]; then LARVATAGGER_IMAGE="${LARVATAGGER_IMAGE}:stable"; fi
-$docker build -t "$LARVATAGGER_IMAGE" -f recipes/Dockerfile ${DOCKER_ARGS}.
+$docker build -t "$LARVATAGGER_IMAGE" ${DOCKER_ARGS}.
 else
 if ! [[ "$LARVATAGGER_IMAGE" == *:* ]]; then LARVATAGGER_IMAGE="${LARVATAGGER_IMAGE}:latest"; fi
 if [ -z "$LARVATAGGER_BRANCH" ]; then
@@ -122,12 +128,16 @@ if [ -z "$LARVATAGGER_BRANCH" ]; then
     echo "Deprecation notice: LARVATAGGER_DEFAULT_BRANCH has been renamed LARVATAGGER_BRANCH"
     LARVATAGGER_BRANCH=$LARVATAGGER_DEFAULT_BRANCH
   fi
+else
+  echo "Using environment variable: LARVATAGGER_BRANCH= $LARVATAGGER_BRANCH"
 fi
 if [ -z "$TAGGINGBACKENDS_BRANCH" ]; then
   TAGGINGBACKENDS_BRANCH=$LARVATAGGER_BRANCH
+else
+  echo "Using environment variable: TAGGINGBACKENDS_BRANCH= $TAGGINGBACKENDS_BRANCH"
 fi
 DOCKER_ARGS="--build-arg TAGGINGBACKENDS_BRANCH=$TAGGINGBACKENDS_BRANCH $DOCKER_ARGS"
-$docker build -t "$LARVATAGGER_IMAGE" -f $DOCKERFILE ${DOCKER_ARGS}--build-arg BRANCH=$LARVATAGGER_BRANCH .
+$docker build -t "$LARVATAGGER_IMAGE" ${DOCKER_ARGS}--build-arg BRANCH=$LARVATAGGER_BRANCH .
 fi
 ;;
 
@@ -137,6 +147,7 @@ if [ -z "$LARVATAGGER_PORT" -o "$LARVATAGGER_PORT" == "9284" ]; then
 DOCKER_ARGS="-p 9284:9284 $DOCKER_ARGS"
 TAGGER_ARGS=
 else
+echo "Using environment variable: LARVATAGGER_PORT= $LARVATAGGER_PORT"
 DOCKER_ARGS="-p $LARVATAGGER_PORT:$LARVATAGGER_PORT $DOCKER_ARGS"
 TAGGER_ARGS="--port=$LARVATAGGER_PORT"
 fi
@@ -150,7 +161,7 @@ RUN_ARGS="$RUN_ARGS -v \"$parentdir\":/data"
 backend=MaggotUBA
 while [ -n "$1" -a "$1" = "--external-instance" ]; do
 instance=$2; shift 2
-if [ -z "$(which realpath)" ]; then
+if ! command -v realpath &>/dev/null; then
 echo "realpath: command not found"
 echo "on macOS: brew install coreutils"
 exit 1
@@ -269,7 +280,7 @@ fi
 done
 
 if [ -n "$tagger_path" ]; then
-if [ -z "$(which realpath)" ]; then
+if ! command -v realpath &>/dev/null; then
 echo "realpath: command not found"
 echo "on macOS: brew install coreutils"
 exit 1