86 lines
3 KiB
Bash
86 lines
3 KiB
Bash
|
|
#!/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
|