2025-10-27 23:52:27 +03:00
|
|
|
|
#!/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 запущен и настроен на автозапуск"
|
2025-10-28 00:24:17 +03:00
|
|
|
|
|
|
|
|
|
|
# Проверка: нужна ли настройка пароля в 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
|
|
|
|
|
|
|
2025-10-27 23:52:27 +03:00
|
|
|
|
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 ""
|
|
|
|
|
|
|