#!/bin/bash # Matrix RSS Bot - Установочный скрипт # Использование: ./scripts/setup.sh set -e echo "=====================================" echo "Matrix RSS Bot - Установка" echo "=====================================" # Проверка Python if ! command -v python3 &> /dev/null; then echo "❌ Python 3 не найден. Установите Python 3.8 или выше." exit 1 fi PYTHON_VERSION=$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")') if [[ "$PYTHON_VERSION" < "3.8" ]]; then echo "❌ Требуется Python 3.8 или выше. Установлена версия $PYTHON_VERSION" exit 1 fi echo "✅ Python $PYTHON_VERSION найден" # Создание виртуального окружения echo "" echo "📦 Создаю виртуальное окружение..." python3 -m venv venv source venv/bin/activate # Установка зависимостей echo "" echo "📥 Устанавливаю зависимости..." pip install --upgrade pip pip install -r requirements.txt # Создание структуры папок echo "" echo "📁 Создаю структуру папок..." mkdir -p data mkdir -p logs # Копирование конфигов echo "" echo "⚙️ Настраиваю конфигурацию..." if [ ! -f config/config.yaml ]; then cp config/config.example.yaml config/config.yaml echo "✅ Создан config/config.yaml - отредактируйте его" else echo "⚠️ config/config.yaml уже существует" fi if [ ! -f config/sources.yaml ]; then cp config/sources.example.yaml config/sources.yaml echo "✅ Создан config/sources.yaml - отредактируйте его" else echo "⚠️ config/sources.yaml уже существует" fi # Установка systemd сервиса (опционально) echo "" echo "🛠️ Установить systemd сервис? (y/n)" read -r install_service if [ "$install_service" = "y" ]; then CURRENT_DIR=$(pwd) USER=$(whoami) cat > /tmp/matrix-rss-bot.service << EOF [Unit] Description=Matrix RSS Bot After=network.target [Service] Type=simple User=$USER WorkingDirectory=$CURRENT_DIR Environment="PATH=$CURRENT_DIR/venv/bin" ExecStart=$CURRENT_DIR/venv/bin/python -m bot.main Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target EOF sudo mv /tmp/matrix-rss-bot.service /etc/systemd/system/ sudo systemctl daemon-reload echo "✅ systemd сервис установлен" echo "" echo "Команды управления:" echo " sudo systemctl start matrix-rss-bot # Запуск" echo " sudo systemctl stop matrix-rss-bot # Остановка" echo " sudo systemctl status matrix-rss-bot # Статус" echo " sudo journalctl -u matrix-rss-bot -f # Логи" fi # Завершение echo "" echo "=====================================" echo "✅ Установка завершена!" echo "=====================================" echo "" echo "Следующие шаги:" echo "1. Отредактируйте config/config.yaml и введите свои настройки Matrix" echo "2. Отредактируйте config/sources.yaml и добавьте свои RSS источники" echo "3. Запустите бота:" echo " source venv/bin/activate" echo " python -m bot.main" echo "" if [ "$install_service" = "y" ]; then echo "Или через systemd: sudo systemctl start matrix-rss-bot" fi