Files
matrix-rss-bot/scripts/setup.sh

115 lines
3.5 KiB
Bash
Raw Normal View History

#!/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