| #!/bin/bash |
| set -e |
|
|
| echo "🚀 Starting OpenClaw Deployment..." |
|
|
| mkdir -p /root/.openclaw/agents/main/sessions |
| mkdir -p /root/.openclaw/credentials |
| mkdir -p /root/.openclaw/sessions |
|
|
| echo "🔄 Restoring data from HuggingFace Dataset..." |
| python3 /app/sync.py |
|
|
| CLEAN_BASE=$(echo "$ANTHROPIC_BASE_URL" | sed "s|/messages||g" | sed "s|/v1/|/v1|g" | sed "s|/v1$|/v1|g") |
|
|
| cat > /root/.openclaw/openclaw.json <<EOF |
| { |
| "models": { |
| "providers": { |
| "siliconflow": { |
| "baseUrl": "$CLEAN_BASE", |
| "apiKey": "$ANTHROPIC_API_KEY", |
| "api": "anthropic-messages", |
| "models": [ |
| { |
| "id": "$MODEL", |
| "name": "$MODEL", |
| "contextWindow": 128000, |
| "maxTokens": 4096 |
| } |
| ] |
| } |
| } |
| }, |
| "agents": { |
| "defaults": { |
| "model": { |
| "primary": "$MODEL" |
| } |
| } |
| }, |
| "commands": { |
| "restart": true, |
| "native": "auto" |
| }, |
| "channels": { |
| "whatsapp": { |
| "dmPolicy": "pairing", |
| "allowFrom": ["+923080058888"], |
| "groups": { |
| "*": { |
| "requireMention": true |
| } |
| } |
| }, |
| "telegram": { |
| "enabled": false |
| } |
| }, |
| "gateway": { |
| "mode": "local", |
| "bind": "lan", |
| "port": $PORT, |
| "trustedProxies": ["0.0.0.0/0"], |
| "auth": { |
| "mode": "token", |
| "token": "$OPENCLAW_GATEWAY_PASSWORD" |
| }, |
| "controlUi": { |
| "enabled": true, |
| "allowedOrigins": ["*"], |
| "allowInsecureAuth": true, |
| "dangerouslyDisableDeviceAuth": true |
| } |
| }, |
| "memory": { |
| "backend": "builtin", |
| "citations": "off" |
| } |
| } |
| EOF |
| echo "⚙️ Configuration generated." |
|
|
| (while true; do sleep 2700; echo "⏰ Triggering scheduled backup..."; python3 /app/sync.py backup; done) & |
|
|
| openclaw doctor --fix || true |
|
|
| echo "✅ Launching OpenClaw Gateway on port $PORT..." |
| exec openclaw gateway run --port $PORT |