openclaws / start-openclaw.sh
asons's picture
Update start-openclaw.sh
a2dad0c verified
#!/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