64 lines
2.9 KiB
Bash
64 lines
2.9 KiB
Bash
#!/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"
|