#!/bin/bash # Скрипт для запуска всего проекта searchTorrentDownl # Включает веб-приложение и Telegram бота echo "🚀 Запуск проекта searchTorrentDownl..." # Проверяем, что мы в правильной директории if [ ! -f "app.py" ]; then echo "❌ Ошибка: Запустите скрипт из директории проекта" exit 1 fi # Создаем виртуальное окружение если его нет if [ ! -d "venv" ]; then echo "📦 Создание виртуального окружения..." python3 -m venv venv fi # Активируем виртуальное окружение echo "🔧 Активация виртуального окружения..." source venv/bin/activate # Устанавливаем зависимости echo "📥 Установка зависимостей..." pip install -r requirements.txt # Проверяем, что qBittorrent запущен echo "🔍 Проверка qBittorrent..." if ! curl -s http://localhost:8080/api/v2/app/version > /dev/null; then echo "⚠️ qBittorrent не запущен. Запустите его командой:" echo " sudo systemctl start qbittorrent" echo " или" echo " sudo -u qbittorrent /usr/bin/qbittorrent-nox --webui-port=8080" echo "" echo "🔧 Продолжаем без qBittorrent (поиск фильмов будет работать)..." fi # Запускаем основное приложение в фоне echo "🌐 Запуск веб-приложения..." python3 app.py & APP_PID=$! # Ждем немного, чтобы приложение запустилось sleep 3 # Проверяем, что приложение запустилось if ! curl -s http://localhost:8089/api/search/terminator > /dev/null; then echo "❌ Ошибка запуска веб-приложения" kill $APP_PID 2>/dev/null exit 1 fi echo "✅ Веб-приложение запущено на http://localhost:8089" # Запускаем Telegram бота echo "🤖 Запуск Telegram бота..." python3 run_telegram_bot.py & BOT_PID=$! echo "" echo "🎉 Проект успешно запущен!" echo "" echo "📱 Доступные интерфейсы:" echo " • Веб-интерфейс: http://localhost:8089" echo " • qBittorrent: http://localhost:8080 (admin/vrubel07)" echo " • Telegram Bot: @your_bot_username (команда /start)" echo "" echo "🛑 Для остановки нажмите Ctrl+C" # Функция для корректного завершения cleanup() { echo "" echo "🛑 Остановка сервисов..." kill $APP_PID 2>/dev/null kill $BOT_PID 2>/dev/null echo "✅ Все сервисы остановлены" exit 0 } # Перехватываем сигнал завершения trap cleanup SIGINT SIGTERM # Ждем завершения wait