#!/bin/bash set -e # 1. 初始化环境 if [ -d "/opt/runtime/user" ]; then cp -r /opt/runtime/user/* /opt/runtime/deepdata/ops/user 2>/dev/null || true fi # 2. 根据 RAY_MODE 环境变量决定启动模式 if [ "${RAY_MODE}" = "head" ]; then echo "🚀 Starting Ray Head..." TOTAL_MEM_MB=${TOTAL_MEM_MB:-4096} OBJECT_STORE_MEM_MB=$((TOTAL_MEM_MB / 2)) exec ray start --head \ --port=${RAY_HEAD_PORT:-6379} \ --redis-password=${RAY_REDIS_PASSWORD} \ --dashboard-host=0.0.0.0 \ --num-cpus=${NUM_CPUS:-0} \ --object-store-memory=${OBJECT_STORE_MEM_MB}000000 \ --block elif [ "${RAY_MODE}" = "worker" ]; then echo "🚀 Starting Ray Worker connecting to ${RAY_HEAD_ADDRESS}..." TOTAL_MEM_MB=${TOTAL_MEM_MB:-16384} OBJECT_STORE_MEM_MB=$((TOTAL_MEM_MB / 2)) exec ray start \ --address=${RAY_HEAD_ADDRESS} \ --redis-password=${RAY_REDIS_PASSWORD} \ --num-cpus=${NUM_CPUS:-4} \ --memory=${TOTAL_MEM_MB}000000 \ --object-store-memory=${OBJECT_STORE_MEM_MB}000000 \ --block else echo "🔧 Starting Runtime (Legacy Mode / Job Execution)..." # 默认行为:执行 docker-compose.yml command 传入的指令 exec "$@" fi