Update entrypoint.sh
Browse files- entrypoint.sh +14 -4
entrypoint.sh
CHANGED
|
@@ -47,16 +47,26 @@ sleep 10
|
|
| 47 |
echo '=== [STEP 2] OPENCODE STARTED ==='
|
| 48 |
|
| 49 |
# ============================================
|
| 50 |
-
# STEP 3:
|
| 51 |
# ============================================
|
| 52 |
-
echo '=== [STEP 3] STARTING
|
| 53 |
while true; do
|
| 54 |
# Check if OpenCode is still running
|
| 55 |
if ! pgrep -f 'opencode' > /dev/null; then
|
| 56 |
echo 'CRITICAL: OpenCode process died! Exiting container...'
|
| 57 |
exit 1
|
| 58 |
fi
|
| 59 |
-
|
| 60 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
hf sync "$SOURCE" "$BUCKET" --delete --exclude "*.mdb"
|
|
|
|
| 62 |
done
|
|
|
|
| 47 |
echo '=== [STEP 2] OPENCODE STARTED ==='
|
| 48 |
|
| 49 |
# ============================================
|
| 50 |
+
# STEP 3: INOTIFY-BASED SMART SYNC
|
| 51 |
# ============================================
|
| 52 |
+
echo '=== [STEP 3] STARTING SMART SYNC (inotifywait) ==='
|
| 53 |
while true; do
|
| 54 |
# Check if OpenCode is still running
|
| 55 |
if ! pgrep -f 'opencode' > /dev/null; then
|
| 56 |
echo 'CRITICAL: OpenCode process died! Exiting container...'
|
| 57 |
exit 1
|
| 58 |
fi
|
| 59 |
+
|
| 60 |
+
# Wait for any file change in /data (blocks until change detected)
|
| 61 |
+
# Excludes .mdb files, .cache folder, .npm folder from triggering sync
|
| 62 |
+
inotifywait -r -e modify,create,delete,move \
|
| 63 |
+
--exclude '.*\.mdb$' \
|
| 64 |
+
--exclude '.*/\.cache(/.*)?$' \
|
| 65 |
+
--exclude '.*/\.npm(/.*)?$' \
|
| 66 |
+
-q "$SOURCE"
|
| 67 |
+
|
| 68 |
+
# Change detected! Sync to bucket (excluding .mdb, .cache, .npm)
|
| 69 |
+
echo "=== [STEP 3] Change detected! Syncing to bucket... ==="
|
| 70 |
hf sync "$SOURCE" "$BUCKET" --delete --exclude "*.mdb"
|
| 71 |
+
echo "=== [STEP 3] Sync done! Waiting for next change... ==="
|
| 72 |
done
|