Subsequently commited on
Commit
ab84502
·
verified ·
1 Parent(s): df181a6

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +34 -20
entrypoint.sh CHANGED
@@ -21,36 +21,50 @@ log() { echo "[$(ts)] [entrypoint] $*"; }
21
  warn() { echo "[$(ts)] [entrypoint] WARN: $*"; }
22
 
23
  # ----------------------------------------------------------------
24
- # Storage: resolve OPENCLAW_HOME
25
  # ----------------------------------------------------------------
 
26
  OPENCLAW_HOME=/home/user
27
  mkdir -p /home/user/.openclaw
28
 
29
- RETRIES=5
30
- i=0
31
- USE_LOCAL_STATE="${USE_LOCAL_STATE:-1}"
32
- while [ "$USE_LOCAL_STATE" != "1" ] && [ $i -lt $RETRIES ]; do
33
- if [ -d /data ] && touch /data/.write-test 2>/dev/null; then
34
- rm -f /data/.write-test
35
- OPENCLAW_HOME=/data
36
- mkdir -p /data/.openclaw
37
- log "Storage bucket /data is writable - using persistent storage"
38
- break
 
 
 
 
39
  fi
40
- i=$((i+1))
41
- if [ $i -lt $RETRIES ]; then
42
- log "Waiting for /data mount... ($i/$RETRIES)"
43
- sleep 1
 
 
 
 
 
 
 
 
 
44
  fi
45
- done
46
 
47
- if [ "$USE_LOCAL_STATE" = "1" ]; then
48
- log "USE_LOCAL_STATE=1 - live state on local disk (/home/user); /data is left untouched"
49
- elif [ "$OPENCLAW_HOME" = "/home/user" ]; then
50
- warn "/data not writable after ${RETRIES}s - using ephemeral /home/user"
51
  fi
52
 
53
  export OPENCLAW_HOME
 
54
  log "OPENCLAW_HOME=$OPENCLAW_HOME"
55
 
56
  # ----------------------------------------------------------------
 
21
  warn() { echo "[$(ts)] [entrypoint] WARN: $*"; }
22
 
23
  # ----------------------------------------------------------------
24
+ # Storage: persistent Hugging Face Bucket
25
  # ----------------------------------------------------------------
26
+
27
  OPENCLAW_HOME=/home/user
28
  mkdir -p /home/user/.openclaw
29
 
30
+ USE_LOCAL_STATE="${USE_LOCAL_STATE:-0}"
31
+
32
+ if [ "$USE_LOCAL_STATE" = "1" ]; then
33
+
34
+ OPENCLAW_HOME=/home/user
35
+ log "WARNING: using ephemeral local state"
36
+
37
+ else
38
+
39
+ mkdir -p /data
40
+
41
+ if ! touch /data/.write-test 2>/dev/null; then
42
+ log "FATAL: /data Bucket is not writable"
43
+ exit 1
44
  fi
45
+
46
+ rm -f /data/.write-test
47
+ mkdir -p /data/.openclaw
48
+
49
+ # First migration: preserve existing local state
50
+ # Only copy when the Bucket state directory is empty.
51
+ if [ -z "$(find /data/.openclaw -mindepth 1 -maxdepth 1 -print -quit)" ]; then
52
+
53
+ if [ -d /home/user/.openclaw ]; then
54
+ cp -a /home/user/.openclaw/. /data/.openclaw/
55
+ log "Migrated existing OpenClaw state to /data"
56
+ fi
57
+
58
  fi
 
59
 
60
+ OPENCLAW_HOME=/data
61
+
62
+ log "Persistent Bucket enabled: /data"
63
+
64
  fi
65
 
66
  export OPENCLAW_HOME
67
+
68
  log "OPENCLAW_HOME=$OPENCLAW_HOME"
69
 
70
  # ----------------------------------------------------------------