Duibonduil's picture
Rename AWorld-main/aworlddistributed/start.sh to aworlddistributed/start.sh
9cf4f7e verified
#!/usr/bin/env bash
PORT="${PORT:-9099}"
HOST="${HOST:-0.0.0.0}"
# Default value for PIPELINES_DIR
PIPELINES_DIR=${PIPELINES_DIR:-./aworldspace/agents}
UVICORN_LOOP="${UVICORN_LOOP:-auto}"
# OSS mount configuration - read from environment variables
if [ -n "$OSS_BUCKET" ] && [ -n "$OSS_AK_ID" ] && [ -n "$OSS_AK_SECRET" ]; then
echo "Configuring OSS mount..."
# Create OSS credentials file
echo "${OSS_BUCKET}:${OSS_AK_ID}:${OSS_AK_SECRET}" >> /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
# Create mount point directories if they don't exist
mkdir -p /app/logs
mkdir -p /app/trace_data
mkdir -p /app/aworldspace/datasets
# Mount OSS directories
echo "Mounting OSS directories..."
if [ -n "$OSS_REGION_URL" ] && [ -n "$OSS_BUCKET_URL" ]; then
# Use custom region and URL
ossfs ${OSS_BUCKET}:/aworld/logs /app/logs -odirect_read -ononempty -oregion=${OSS_REGION_URL} -ourl=${OSS_BUCKET_URL} &
ossfs ${OSS_BUCKET}:/aworld/trace_data /app/trace_data -odirect_read -ononempty -oregion=${OSS_REGION_URL} -ourl=${OSS_BUCKET_URL} &
ossfs ${OSS_BUCKET}:/aworld/datasets /app/aworldspace/datasets -odirect_read -ononempty -oregion=${OSS_REGION_URL} -ourl=${OSS_BUCKET_URL} &
else
# Use default configuration
ossfs ${OSS_BUCKET}:/aworld/logs /app/logs -odirect_read -ononempty &
ossfs ${OSS_BUCKET}:/aworld/trace_data /app/trace_data -odirect_read -ononempty &
ossfs ${OSS_BUCKET}:/aworld/datasets /app/aworldspace/datasets -odirect_read -ononempty &
fi
# Wait for mount to complete
sleep 2
echo "OSS mount configuration completed"
else
echo "OSS configuration incomplete, skipping OSS mount"
fi
uvicorn main:app --host "$HOST" --port "$PORT" --forwarded-allow-ips '*' --loop "$UVICORN_LOOP"