build: lightweight busybox-based container build (#5285)

This commit is contained in:
outlook84 2025-07-13 14:37:20 +08:00 committed by GitHub
parent 1a5c83bcfe
commit 5c5942d995
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 56 additions and 31 deletions

View file

@ -0,0 +1,9 @@
#!/bin/sh
set -e
PORT=${FB_PORT:-$(cat /tmp/FB_CONFIG | sh /JSON.sh | grep '\["port"\]' | awk '{print $2}')}
ADDRESS=${FB_ADDRESS:-$(cat /tmp/FB_CONFIG | sh /JSON.sh | grep '\["address"\]' | awk '{print $2}' | sed 's/"//g')}
ADDRESS=${ADDRESS:-localhost}
wget -q --spider http://$ADDRESS:$PORT/health || exit 1

View file

@ -7,19 +7,32 @@ if [ ! -f "/config/settings.json" ]; then
cp -a /defaults/settings.json /config/settings.json
fi
# Deal with the case where user does not provide a config argument
has_config_arg=0
# Extract config file path from arguments
config_file=""
next_is_config=0
for arg in "$@"; do
case "$arg" in
--config|--config=*|-c|-c=*)
has_config_arg=1
if [ "$next_is_config" -eq 1 ]; then
config_file="$arg"
break
;;
fi
case "$arg" in
-c|--config)
next_is_config=1
;;
-c=*|--config=*)
config_file="${arg#*=}"
break
;;
esac
done
if [ "$has_config_arg" -eq 0 ]; then
set -- --config=/config/settings.json "$@"
fi
# If no config argument is provided, set the default and add it to the args
if [ -z "$config_file" ]; then
config_file="/config/settings.json"
set -- --config=/config/settings.json "$@"
fi
# Create a symlink to the config file for compatibility with the healthcheck script
ln -s "$config_file" /tmp/FB_CONFIG
exec filebrowser "$@"