#!/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 < "$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