diff --git a/birdnet-pipy/rootfs/etc/cont-init.d/10-config.sh b/birdnet-pipy/rootfs/etc/cont-init.d/10-config.sh index 8b55d869d..3c5a51dc5 100755 --- a/birdnet-pipy/rootfs/etc/cont-init.d/10-config.sh +++ b/birdnet-pipy/rootfs/etc/cont-init.d/10-config.sh @@ -6,29 +6,11 @@ DATA_DIR="/app/data" CFG_DIR="${DATA_DIR}/config" SETTINGS="${CFG_DIR}/user_settings.json" -mkdir -p "${CFG_DIR}" - -if [ ! -f "${SETTINGS}" ]; then - if [ -f /app/config/user_settings.example.json ]; then - cp /app/config/user_settings.example.json "${SETTINGS}" - else - printf '%s\n' '{}' > "${SETTINGS}" +if [ -f "$SETTINGS" ]; then + if ! grep -q 'detection' "$SETTINGS"; then + bak="${SETTINGS}.bak" + [ -e "$bak" ] && bak="${SETTINGS}.bak.$(date -u +%Y%m%dT%H%M%SZ)" + mv -f -- "$SETTINGS" "$bak" + echo "WARNING: Erroneous file detected: '$SETTINGS' did not contain 'detection' and was renamed to '$bak'." >&2 fi fi - -RECORDING_MODE="$(bashio::config 'RECORDING_MODE' || true)" -RTSP_URL="$(bashio::config 'RTSP_URL' || true)" - -PATCH='{}' -if [ -n "${RECORDING_MODE}" ]; then - PATCH="$(printf '%s' "${PATCH}" | jq --arg v "${RECORDING_MODE}" '.audio.recording_mode=$v')" -fi -if [ -n "${RTSP_URL}" ]; then - PATCH="$(printf '%s' "${PATCH}" | jq --arg v "${RTSP_URL}" '.audio.rtsp_url=$v')" -fi - -tmp="$(mktemp)" -jq -s '.[0] * .[1]' "${SETTINGS}" <(printf '%s\n' "${PATCH}") > "${tmp}" -mv "${tmp}" "${SETTINGS}" - -chmod 0644 "${SETTINGS}" || true