Refactor FileBrowser config update script

This commit is contained in:
Alexandre
2026-06-03 13:24:21 +02:00
committed by GitHub
parent 04346dc433
commit b0abe9a45c

View File

@@ -72,46 +72,47 @@ if [ ! -f "$FILEBROWSER_CONFIG" ]; then
cp /home/filebrowser/data/config.yaml "$FILEBROWSER_CONFIG"
fi
# Update existing fields in config using yq
bashio::log.info "Updating FileBrowser config..."
# --- Server ---
# --- Server (hardcoded values) ---
bashio::log.info "... set server"
yq e -i ".server.port = 8080" "$FILEBROWSER_CONFIG"
yq e -i ".server.listen = \"0.0.0.0\"" "$FILEBROWSER_CONFIG"
yq e -i ".server.port = 8080" "$FILEBROWSER_CONFIG"
yq e -i ".server.listen = \"0.0.0.0\"" "$FILEBROWSER_CONFIG"
yq e -i ".server.database = \"/config/filebrowser_quantum.db\"" "$FILEBROWSER_CONFIG"
yq e -i ".server.cacheDir = \"/cache\"" "$FILEBROWSER_CONFIG"
--- Server ---
bashio::log.info "... base URL set to allow ingress"
# --- Base URL (from env or config) ---
bashio::log.info "... set base URL to allow ingress"
BASE_URL=$(bashio::config 'base_url' "${FB_BASEURL:-/}")
yq e -i ".server.baseURL = \"${BASE_URL}\"" "$FILEBROWSER_CONFIG"
# Enable/disable auth methods based on auth_method selection
# --- Auth method ---
AUTH_METHOD=$(bashio::config 'auth_method' 'password')
bashio::log.info "... authentification method set to $AUTH_METHOD"
bashio::log.info "... authentication method set to $AUTH_METHOD"
case "$AUTH_METHOD" in
noauth)
yq e -i ".auth.methods.noauth = true" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.password.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.proxy.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.oidc.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.noauth = true" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.password.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.proxy.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.oidc.enabled = false" "$FILEBROWSER_CONFIG"
;;
password)
yq e -i ".auth.methods.noauth = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.password.enabled = true" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.proxy.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.oidc.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.noauth = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.password.enabled = true" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.proxy.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.oidc.enabled = false" "$FILEBROWSER_CONFIG"
;;
proxy)
yq e -i ".auth.methods.noauth = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.password.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.proxy.enabled = true" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.oidc.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.noauth = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.password.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.proxy.enabled = true" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.oidc.enabled = false" "$FILEBROWSER_CONFIG"
;;
oidc)
yq e -i ".auth.methods.noauth = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.password.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.proxy.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.oidc.enabled = true" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.noauth = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.password.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.proxy.enabled = false" "$FILEBROWSER_CONFIG"
yq e -i ".auth.methods.oidc.enabled = true" "$FILEBROWSER_CONFIG"
;;
*)
bashio::log.fatal "Unknown auth_method: $AUTH_METHOD"