# 🚀 Быстрый деплой бота с внешним PostgreSQL ## Шаг 0: Установка Docker (если не установлен) ```bash # Проверка Docker docker --version docker compose version # Если не установлен - см. DOCKER_INSTALL.md # Или быстрая установка (Ubuntu/Debian): sudo apt update sudo apt install -y docker.io docker-compose-plugin sudo systemctl enable docker sudo systemctl start docker # Проверка make docker-check ``` ## Шаг 1: Подготовка PostgreSQL ```bash # Подключитесь к PostgreSQL psql -U postgres # Создайте пользователя и БД CREATE USER bot_user WITH PASSWORD 'secure_password_here'; CREATE DATABASE lottery_bot OWNER bot_user; GRANT ALL PRIVILEGES ON DATABASE lottery_bot TO bot_user; # Выход \q ``` ## Шаг 2: Настройка .env.prod ```bash # Скопируйте пример cp .env.prod.example .env.prod # Отредактируйте .env.prod nano .env.prod ``` **Заполните:** ```env # Telegram BOT_TOKEN=your_bot_token_from_botfather ADMIN_IDS=123456789,987654321 # PostgreSQL (замените на свои данные) DATABASE_URL=postgresql+asyncpg://bot_user:secure_password@localhost:5432/lottery_bot ``` ## Шаг 3: Деплой ### Вариант A: Docker (рекомендуется) ```bash # Билд и запуск make docker-deploy # Или вручную: docker-compose build docker-compose up -d docker exec -it lottery_bot alembic upgrade head ``` ### Вариант B: Локально ```bash # Установка make install # Миграции source .venv/bin/activate alembic upgrade head # Запуск make bot-start ``` ## Шаг 4: Проверка ```bash # Проверить подключение к БД make docker-test-db # Логи make docker-logs # Статус make docker-status ``` ## 📋 Полезные команды ```bash # Остановка docker-compose down # Перезапуск docker-compose restart # Логи в реальном времени docker-compose logs -f bot # Бэкап БД pg_dump -U bot_user lottery_bot > backup.sql # Восстановление БД psql -U bot_user lottery_bot < backup.sql ``` ## 🔥 Проблемы? См. [EXTERNAL_DB_SETUP.md](./EXTERNAL_DB_SETUP.md) раздел "Troubleshooting"