ten / start.sh
3v324v23's picture
Исправление проблемы с правами доступа в контейнере и добавление fallback-скрипта
50c3ed9
raw
history blame
2.76 kB
#!/bin/bash
set -e
# Вывод информации о запуске
echo "===== Starting TEN-Agent on HuggingFace Space ====="
echo "$(date)"
echo "Current directory: $(pwd)"
# Проверяем наличие .env файла
if [ -f .env ]; then
echo "✅ .env file found"
cat .env | grep -v "KEY\|CERTIFICATE" | sed 's/=.*/=***/'
else
echo "❌ Error: .env file not found"
exit 1
fi
# Проверяем установку task
if command -v task &> /dev/null; then
echo "✅ task command is available"
task --version
else
echo "❌ Error: task command not found"
exit 1
fi
# Проверяем права доступа и структуру директорий
echo "===== Checking directory permissions ====="
mkdir -p /app/agents
mkdir -p /tmp/ten_agent
chmod -R 777 /app/agents
chmod -R 777 /app
chmod -R 777 /tmp/ten_agent
echo "Directory permissions:"
ls -la /app/agents
ls -la /app
ls -la /tmp/ten_agent
# Проверяем наличие директории examples
if [ -d "/app/agents/examples" ]; then
echo "✅ Examples directory found"
ls -la /app/agents/examples
else
echo "❌ Error: Examples directory not found"
# Создаем базовую структуру
mkdir -p /app/agents/examples/default
echo "Created directory structure"
fi
# Запускаем сборку агента с официальной командой
echo "===== Building TEN-Agent ====="
if task use; then
echo "✅ task use успешно выполнена"
# Обновляем порт для HuggingFace Space (HF использует порт 7860)
echo "===== Setting up port for HuggingFace Space ====="
export PORT=7860
# Отключаем запрос на использование камеры для HuggingFace Space
export NEXT_PUBLIC_DISABLE_CAMERA=true
# Запускаем TEN-Agent с официальной командой
echo "===== Starting TEN-Agent server ====="
exec task run
else
echo "⚠️ Warning: task use failed, trying alternative method..."
# Альтернативный метод настройки агента без использования символических ссылок
mkdir -p /app/agents/examples/default
cp -r /app/agents/examples/default/* /app/agents/ 2>/dev/null || true
echo "Manual setup completed, trying to run task run..."
if task run; then
echo "✅ task run успешно выполнена"
exit 0
else
echo "⚠️ Warning: все методы запуска через task не удались, запускаем fallback..."
chmod +x /app/fallback.py
exec python3 /app/fallback.py
fi
fi