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

115 lines
3.5 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
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
# 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