From 01c814cf98f81f2bcd622aea75e5b1efe3484940 Mon Sep 17 00:00:00 2001 From: outlook84 <96007761+outlook84@users.noreply.github.com> Date: Sat, 12 Jul 2025 19:30:36 +0800 Subject: [PATCH] feat: Improve Docker entrypoint and config handling --- Dockerfile | 2 +- docker/alpine/init.sh | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index eb5751e8..68dec799 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,4 +29,4 @@ VOLUME /srv /config /database EXPOSE 80 -ENTRYPOINT [ "tini", "--", "/init.sh", "filebrowser", "--config", "/config/settings.json" ] +ENTRYPOINT [ "tini", "--", "/init.sh" ] diff --git a/docker/alpine/init.sh b/docker/alpine/init.sh index 4dc5908a..ccd04cd4 100755 --- a/docker/alpine/init.sh +++ b/docker/alpine/init.sh @@ -7,4 +7,19 @@ if [ ! -f "/config/settings.json" ]; then cp -a /defaults/settings.json /config/settings.json fi -exec "$@" +# Deal with the case where user does not provide a config argument +has_config_arg=0 +for arg in "$@"; do + case "$arg" in + --config|--config=*|-c|-c=*) + has_config_arg=1 + break + ;; + esac +done + +if [ "$has_config_arg" -eq 0 ]; then + set -- --config=/config/settings.json "$@" +fi + +exec filebrowser "$@" \ No newline at end of file