diff --git a/auto-commit.sh b/auto-commit.sh new file mode 100755 index 0000000..09ba33d --- /dev/null +++ b/auto-commit.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# Watch /opt/strshipos for changes and auto-commit+push to Gitea + +REPO="/opt/strshipos" +DEBOUNCE=10 # seconds to wait after last change before committing + +cd "$REPO" + +inotifywait -m -r -e close_write,create,delete,move \ + --exclude '(\.git|data/|/logs/)' \ + "$REPO" 2>/dev/null | while read -r dir event file; do + + # Reset debounce timer + touch /tmp/strshipos-pending-commit + + # Wait for quiet period + ( + sleep $DEBOUNCE + # Only proceed if we're still the latest trigger + if [ -f /tmp/strshipos-pending-commit ]; then + rm -f /tmp/strshipos-pending-commit + cd "$REPO" + git add docker-compose.yml logo.svg favicon.svg favicon16.png favicon144.png \ + xwiki-org/cssVariablesInit.min.css xwiki-com/cssVariablesInit.min.css .gitignore + if ! git diff --cached --quiet; then + git commit -m "auto: backup config changes $(date '+%Y-%m-%d %H:%M:%S')" + git push origin master + git push starshipos master + fi + fi + ) & +done