feat: Improve Docker entrypoint and config handling

- Simplify Dockerfile ENTRYPOINT to delegate config handling to init.sh.
- Enhance init.sh to automatically add `--config=/config/settings.json` if no config argument is provided.
pull/5280/head
outlook84 2025-07-12 12:00:15 +08:00
parent b4eddf45e4
commit 0d5be86a40
2 changed files with 17 additions and 2 deletions

View File

@ -29,4 +29,4 @@ VOLUME /srv /config /database
EXPOSE 80
ENTRYPOINT [ "tini", "--", "/init.sh", "filebrowser", "--config", "/config/settings.json" ]
ENTRYPOINT [ "tini", "--", "/init.sh" ]

View File

@ -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=*)
has_config_arg=1
break
;;
esac
done
if [ "$has_config_arg" -eq 0 ]; then
set -- --config=/config/settings.json "$@"
fi
exec filebrowser "$@"