# 🚀 Быстрый старт развертывания на сервер 📍 Сервер: `192.168.0.103` 👤 Пользователь: `trevor` ## ⚡ 3 минуты на развертывание ### 1️⃣ Подключитесь к серверу ```bash ssh trevor@192.168.0.103 # Пароль: R0sebud ``` ### 2️⃣ Перейдите в проект ```bash cd ~/new_lottery_bot ``` ### 3️⃣ Создайте .env файл ```bash cat > .env << 'EOF' BOT_TOKEN=your_bot_token_here DATABASE_URL=postgresql://trevor:password@localhost:5432/lottery_bot ADMIN_IDS=123456789 LOG_LEVEL=INFO EOF ``` **Замените:** - `your_bot_token_here` → токен из @BotFather - `password` → пароль PostgreSQL - `123456789` → ваш Telegram ID ### 4️⃣ Запустите развертывание ```bash chmod +x scripts/deploy_and_run.sh scripts/deploy_server.sh ./scripts/deploy_and_run.sh ``` **Готово! Бот работает!** 🎉 --- ## 🔧 Альтернативные способы запуска ### Вариант 1: Пошаговый запуск ```bash # Создание виртуального окружения python3 -m venv venv source venv/bin/activate # Установка зависимостей pip3 install -r requirements.txt # Проверка БД python3 scripts/check_db.py # Запуск бота python3 main.py ``` ### Вариант 2: Только развертывание (без запуска) ```bash chmod +x scripts/deploy_server.sh ./scripts/deploy_server.sh ``` ### Вариант 3: Screen (фоновый запуск) ```bash # Создаем screen сессию screen -S lottery-bot # Внутри screen: source venv/bin/activate python3 main.py # Выход (Ctrl+A затем D) ``` Для повторного подключения: ```bash screen -r lottery-bot ``` ### Вариант 4: Systemd (production) Смотрите файл [docs/SERVER_DEPLOYMENT.md](docs/SERVER_DEPLOYMENT.md) раздел "Системд сервис" --- ## 📋 Подготовка БД PostgreSQL Если БД еще не создана на сервере: ```bash # Подключитесь как админ (на сервере) sudo -u postgres psql # Создайте БД и пользователя CREATE USER trevor WITH PASSWORD 'secure_password'; CREATE DATABASE lottery_bot OWNER trevor; GRANT ALL PRIVILEGES ON DATABASE lottery_bot TO trevor; GRANT ALL PRIVILEGES ON SCHEMA public TO trevor; \q ``` Проверьте подключение: ```bash psql -h localhost -U trevor -d lottery_bot -c "SELECT 1" ``` --- ## ✅ Проверка работы ```bash # Если видите в логах: # " Bot started successfully!" - всё работает! ✅ # Отправьте сообщение боту через Telegram # Если получите ответ - бот работает! 🎉 ``` --- ## 🆘 Если возникают проблемы ### "Connection refused" ```bash # Проверьте PostgreSQL на сервере sudo systemctl status postgresql # Проверьте переменную DATABASE_URL в .env cat .env | grep DATABASE_URL ``` ### "ModuleNotFoundError" ```bash source venv/bin/activate pip3 install -r requirements.txt ``` ### "Bot token is invalid" ```bash # Получите новый токен от @BotFather # Обновите переменную BOT_TOKEN в .env nano .env ``` ### Подробные логи ```bash # Запустите с логированием python3 main.py 2>&1 | tee logs/bot.log # Или если используете systemd sudo journalctl -u lottery-bot -f ``` --- ## 📚 Дополнительная информация | Файл | Назначение | |------|-----------| | `docs/SERVER_DEPLOYMENT.md` | Полный гайд развертывания | | `docs/ADMIN_MANAGEMENT_SYSTEM.md` | Управление администраторами | | `scripts/deploy_server.sh` | Автоматическое развертывание | | `scripts/deploy_and_run.sh` | Развертывание + запуск | | `scripts/check_db.py` | Проверка БД перед запуском | | `scripts/manage_admins.py` | Управление админами (CLI) | --- ## 🎯 Что дальше? После успешного запуска: 1. **Откройте админ-панель**: `/admin_panel` (в боте) 2. **Управляйте розыгрышами**: создавайте, редактируйте, проводите 3. **Управляйте администраторами**: `⚙️ Настройки → 👑 Управление админами` 4. **Смотрите логи**: `logs/` директория --- ## 🔒 Рекомендации по безопасности - ✅ Используйте сильные пароли для PostgreSQL - ✅ Пробросьте firewall правила (разрешить только необходимые порты) - ✅ Регулярно делайте резервные копии БД - ✅ Обновляйте dependencies: `pip3 install --upgrade -r requirements.txt` - ✅ Используйте HTTPS/TLS для всех连ections --- **Вопросы?** Смотрите файлы документации в папке `docs/` 📚