#!/bin/bash # deploy.sh - Скрипт для деплоя Telegram Tinder Bot echo "🚀 Деплой Telegram Tinder Bot..." # Проверяем наличие Docker if ! command -v docker &> /dev/null || ! command -v docker-compose &> /dev/null; then echo "❌ Docker и Docker Compose должны быть установлены!" echo "Для установки на Ubuntu выполните:" echo "sudo apt update && sudo apt install -y docker.io docker-compose" exit 1 fi # Определяем рабочую директорию SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" cd "$SCRIPT_DIR" # Получаем последние изменения echo "📥 Получение последних изменений..." git pull origin main # Проверяем наличие .env файла if [ ! -f .env ]; then echo "📝 Создание .env файла из .env.production..." cp .env.production .env echo "⚠️ Пожалуйста, отредактируйте файл .env и укажите свои настройки!" exit 1 fi # Запускаем Docker Compose echo "🐳 Сборка и запуск контейнеров Docker..." docker-compose down docker-compose build docker-compose up -d # Проверяем статус контейнеров echo "🔍 Проверка статуса контейнеров..." docker-compose ps echo "✅ Деплой успешно завершен! Бот должен быть доступен через Telegram." echo "" echo "📊 Полезные команды:" echo "- Просмотр логов: docker-compose logs -f" echo "- Перезапуск сервисов: docker-compose restart" echo "- Остановка всех сервисов: docker-compose down" echo "- Доступ к базе данных: docker-compose exec db psql -U postgres -d telegram_tinder_bot" echo "- Проверка состояния бота: curl http://localhost:3000/health" echo "" echo "🌟 Для администрирования базы данных:" echo "Adminer доступен по адресу: http://ваш_сервер:8080" echo " - Система: PostgreSQL" echo " - Сервер: db" echo " - Пользователь: postgres" echo " - Пароль: (из переменной DB_PASSWORD в .env)" echo " - База данных: telegram_tinder_bot"