findFilms/start_ubuntu.sh
vrubelroman 44c19e2b45 feat: Ubuntu single-command deployment
- Fixed qBittorrent port configuration: 8080 → 8082
- Updated docker-compose.yml: TorAPI-qBittorrent uses host.docker.internal
- Moved TELEGRAM_BOT_TOKEN to environment variables
- Created start_ubuntu.sh for automated deployment
- Added qBittorrent systemd service with autostart
- Updated env.example with correct port (8082)
- Added UBUNTU_DEPLOYMENT.md documentation

All services now start with: ./start_ubuntu.sh
2025-10-27 23:52:27 +03:00

155 lines
4.9 KiB
Bash
Executable file
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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 запущен и настроен на автозапуск"
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 ""