первая публикация бота
This commit is contained in:
115
scripts/setup.sh
Normal file
115
scripts/setup.sh
Normal file
@@ -0,0 +1,115 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user