#!/bin/bash # Скрипт для запуска всех сервисов findFilms на Ubuntu # Устанавливает qBittorrent, настраивает systemd и запускает Docker контейнеры set -e # Остановка при ошибке echo "🚀 Запуск findFilms для Ubuntu" echo "==============================================" echo "" # Цвета для вывода RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color log_info() { echo -e "${BLUE}ℹ️ $1${NC}" } log_success() { echo -e "${GREEN}✅ $1${NC}" } log_warning() { echo -e "${YELLOW}⚠️ $1${NC}" } log_error() { echo -e "${RED}❌ $1${NC}" } # Проверка директории if [ ! -f "app.py" ]; then log_error "Запустите скрипт из директории проекта findFilms" exit 1 fi # Шаг 1: Проверка и установка Docker log_info "Проверка Docker..." if ! command -v docker &> /dev/null; then log_warning "Docker не найден, установка Docker..." curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER rm get-docker.sh log_success "Docker установлен" log_warning "Перезапустите терминал или выполните: newgrp docker" exit 0 else log_success "Docker найден" fi # Проверка Docker Compose if ! command -v docker compose &> /dev/null; then log_warning "Docker Compose не найден, установка..." sudo apt-get update sudo apt-get install -y docker-compose-plugin log_success "Docker Compose установлен" fi # Шаг 2: Установка qBittorrent log_info "Проверка qBittorrent..." if ! command -v qbittorrent-nox &> /dev/null; then log_warning "qBittorrent не найден, установка..." sudo apt-get update sudo apt-get install -y qbittorrent-nox log_success "qBittorrent установлен" else log_success "qBittorrent найден" fi # Шаг 3: Настройка systemd сервиса для qBittorrent log_info "Настройка qBittorrent systemd сервиса..." # Создание пользователя qbittorrent если не существует if ! id "qbittorrent" &>/dev/null; then sudo useradd -r -s /bin/false qbittorrent log_info "Создан пользователь qbittorrent" fi # Создание systemd сервиса sudo tee /etc/systemd/system/qbittorrent.service > /dev/null <<'EOF' [Unit] Description=qBittorrent-nox After=network.target [Service] Type=simple User=qbittorrent Group=qbittorrent ExecStart=/usr/bin/qbittorrent-nox --webui-port=8082 Restart=always RestartSec=5 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target EOF log_success "qBittorrent systemd сервис настроен" # Перезагрузка systemd и запуск сервиса sudo systemctl daemon-reload sudo systemctl enable qbittorrent sudo systemctl restart qbittorrent log_success "qBittorrent запущен и настроен на автозапуск" # Проверка: нужна ли настройка пароля в qBittorrent sleep 3 echo "" log_warning "⚠️ ВАЖНО: Настройка qBittorrent" echo "" echo "🔐 qBittorrent может использовать временные credentials." echo "Для корректной работы всех сервисов необходимо установить:" echo "" echo " 1. Откройте: http://localhost:8082" echo " 2. Войдите (используйте admin/admin если это первый запуск)" echo " 3. Перейдите в: Tools → Options → Web UI" echo " 4. Установите:" echo " • Username: admin" echo " • Password: vrubel07" echo " 5. Нажмите 'Save' внизу страницы" echo "" echo "📝 Эти credentials необходимы для корректной работы всех сервисов" echo "" echo -n "Нажмите Enter когда закончите настройку qBittorrent..." read log_info "Веб-интерфейс: http://localhost:8082" log_info "Логин: admin / vrubel07" # Шаг 4: Создание Docker сети log_info "Создание Docker сети..." if ! docker network ls | grep -q "torrentvideo_default"; then docker network create torrentvideo_default log_success "Сеть torrentvideo_default создана" else log_success "Сеть torrentvideo_default уже существует" fi # Шаг 5: Остановка существующих контейнеров log_info "Остановка существующих контейнеров..." docker compose down 2>/dev/null || true # Шаг 6: Запуск Docker сервисов log_info "Запуск Docker сервисов..." docker compose up -d --build # Ждем немного для старта sleep 5 # Проверка статуса log_info "Проверка статуса сервисов..." echo "" docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep -E "(NAMES|movie-search|TorAPI|telegram-bot)" || true echo "" log_success "🎉 Все сервисы запущены!" echo "" echo "📱 Доступные интерфейсы:" echo " • Веб-интерфейс: http://localhost:8089" echo " • qBittorrent: http://localhost:8082 (admin/vrubel07)" echo " • Telegram Bot: @your_bot_username" echo "" echo "🔧 Управление:" echo " • Остановить Docker: docker compose down" echo " • Остановить qBittorrent: sudo systemctl stop qbittorrent" echo " • Перезапустить все: sudo systemctl restart qbittorrent && docker compose restart" echo " • Логи Docker: docker compose logs -f" echo " • Логи qBittorrent: sudo journalctl -u qbittorrent -f" echo ""