49 lines
1.6 KiB
Bash
49 lines
1.6 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
echo "🦊 Starting Foxy Dev Team API Container..."
|
|
|
|
# Defaults if not provided
|
|
export FOXY_HOME="${FOXY_HOME:-/home/foxy/.openclaw}"
|
|
export OPENCLAW_TYPE="${OPENCLAW_TYPE:-shared}"
|
|
|
|
if [ "$OPENCLAW_TYPE" = "standalone" ]; then
|
|
echo "🔧 OPENCLAW_TYPE is standalone. Setting up OpenClaw..."
|
|
|
|
# Initialize OpenClaw default configuration if it doesn't exist
|
|
if [ ! -f "$FOXY_HOME/config.json" ] && [ ! -f "$FOXY_HOME/config.yaml" ]; then
|
|
echo "📦 Initializing default OpenClaw config at $FOXY_HOME..."
|
|
mkdir -p "$FOXY_HOME/workspace"
|
|
mkdir -p "$FOXY_HOME/agents"
|
|
|
|
# Write a simple default config if OpenClaw hasn't been onboarded
|
|
cat <<EOF > "$FOXY_HOME/config.json"
|
|
{
|
|
"theme": "dark",
|
|
"logLevel": "info",
|
|
"gatewayPort": 20124,
|
|
"gatewayHost": "127.0.0.1",
|
|
"workspaceDir": "$FOXY_HOME/workspace",
|
|
"agentsDir": "$FOXY_HOME/agents"
|
|
}
|
|
EOF
|
|
echo "✅ Default configuration created."
|
|
else
|
|
echo "👍 OpenClaw configuration already exists at $FOXY_HOME."
|
|
fi
|
|
|
|
echo "🚀 Starting OpenClaw Gateway in the background..."
|
|
# Starting OpenClaw gateway in the background so it doesn't block FastAPI
|
|
if command -v openclaw >/dev/null 2>&1; then
|
|
nohup openclaw gateway start > "$FOXY_HOME/logs/gateway.log" 2>&1 &
|
|
echo "✅ OpenClaw Gateway started."
|
|
else
|
|
echo "❌ 'openclaw' command not found, unable to start gateway!"
|
|
fi
|
|
else
|
|
echo "🔗 OPENCLAW_TYPE is shared. Assuming OpenClaw Gateway is managed by the host."
|
|
fi
|
|
|
|
echo "🚀 Starting Uvicorn API Server..."
|
|
exec python -m uvicorn app.main:app --host 0.0.0.0 --port 7000
|