Files
tg_tinder_bot/deploy.sh
2025-09-18 16:37:45 +09:00

64 lines
2.9 KiB
Bash
Raw 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
# 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
# Проверяем и исправляем проблему с командой сборки в Dockerfile
echo "🔧 Проверка конфигурации Dockerfile..."
if grep -q "RUN npm run build" Dockerfile; then
echo "⚠️ Исправление команды сборки в Dockerfile для совместимости с Linux..."
sed -i 's/RUN npm run build/RUN npm run build:linux/g' Dockerfile
echo "✅ Dockerfile обновлен"
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"