BillPanda commited on
Commit
6de5db0
·
verified ·
1 Parent(s): fbe9406

add start

Browse files
Files changed (1) hide show
  1. start-openclaw.sh +92 -0
start-openclaw.sh ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ echo "=== OpenClaw runtime starting ==="
5
+
6
+ mkdir -p /root/.openclaw/sessions
7
+
8
+ # -----------------------------------------------------
9
+ # Phase 3: HF restore (best-effort, never fatal)
10
+ # -----------------------------------------------------
11
+ if [ -n "$HF_DATASET" ] && [ -n "$HF_TOKEN" ]; then
12
+ echo "[HF] Attempting restore..."
13
+ python3 /usr/local/bin/sync.py restore || echo "[HF] Restore skipped"
14
+ else
15
+ echo "[HF] Restore skipped (missing HF_DATASET / HF_TOKEN)"
16
+ fi
17
+
18
+ # -----------------------------------------------------
19
+ # Address handling
20
+ # -----------------------------------------------------
21
+ if [ -z "$OPENAI_API_BASE" ]; then
22
+ echo "ERROR: OPENAI_API_BASE is not set"
23
+ exit 1
24
+ fi
25
+
26
+ CLEAN_BASE=$(echo "$OPENAI_API_BASE" \
27
+ | sed 's|/chat/completions||g' \
28
+ | sed 's|/v1/|/v1|g' \
29
+ | sed 's|/v1$|/v1|g')
30
+
31
+ # -----------------------------------------------------
32
+ # Phase 2: Generate OpenClaw config
33
+ # -----------------------------------------------------
34
+ cat > /root/.openclaw/openclaw.json <<EOF
35
+ {
36
+ "models": {
37
+ "providers": {
38
+ "siliconflow": {
39
+ "baseUrl": "$CLEAN_BASE",
40
+ "apiKey": "$OPENAI_API_KEY",
41
+ "api": "openai-completions",
42
+ "models": [
43
+ { "id": "$MODEL", "name": "DeepSeek", "contextWindow": 128000 }
44
+ ]
45
+ }
46
+ }
47
+ },
48
+ "agents": {
49
+ "defaults": {
50
+ "model": { "primary": "siliconflow/$MODEL" }
51
+ }
52
+ },
53
+ "gateway": {
54
+ "mode": "local",
55
+ "bind": "lan",
56
+ "port": $PORT,
57
+ "trustedProxies": [
58
+ "0.0.0.0/0",
59
+ "10.0.0.0/8",
60
+ "172.16.0.0/12",
61
+ "192.168.0.0/16"
62
+ ],
63
+ "auth": {
64
+ "mode": "token",
65
+ "token": "$OPENCLAW_GATEWAY_PASSWORD"
66
+ },
67
+ "controlUi": {
68
+ "allowInsecureAuth": true
69
+ }
70
+ }
71
+ }
72
+ EOF
73
+
74
+ # -----------------------------------------------------
75
+ # Incremental backup loop (every 6h, background)
76
+ # -----------------------------------------------------
77
+ if [ -n "$HF_DATASET" ] && [ -n "$HF_TOKEN" ]; then
78
+ (
79
+ while true; do
80
+ sleep 21600
81
+ python3 /usr/local/bin/sync.py backup || true
82
+ done
83
+ ) &
84
+ fi
85
+
86
+ # -----------------------------------------------------
87
+ # Final checks & run
88
+ # -----------------------------------------------------
89
+ openclaw doctor --fix || true
90
+
91
+ echo "=== OpenClaw gateway running on port $PORT ==="
92
+ exec openclaw gateway run --port "$PORT"