2026-01-03 17:08:42 +03:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
# Скрипт для перезапуска уже настроенного приложения
|
|
|
|
|
|
# Использование: ./run.sh
|
|
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
|
|
# Цвета для вывода
|
|
|
|
|
|
RED='\033[0;31m'
|
|
|
|
|
|
GREEN='\033[0;32m'
|
|
|
|
|
|
YELLOW='\033[1;33m'
|
|
|
|
|
|
BLUE='\033[0;34m'
|
|
|
|
|
|
NC='\033[0m' # No Color
|
|
|
|
|
|
|
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
|
cd "$SCRIPT_DIR"
|
|
|
|
|
|
|
|
|
|
|
|
# Проверка наличия .env файла
|
|
|
|
|
|
if [ ! -f ".env" ]; then
|
|
|
|
|
|
echo -e "${RED}❌ Файл .env не найден!${NC}"
|
|
|
|
|
|
echo " Создайте файл .env на основе env.example"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# Загружаем переменные окружения
|
|
|
|
|
|
export $(cat .env | grep -v '^#' | grep -v '^$' | xargs)
|
|
|
|
|
|
|
|
|
|
|
|
# Значения по умолчанию
|
|
|
|
|
|
DB_USER=${DB_USER:-playeng}
|
|
|
|
|
|
DB_PASSWORD=${DB_PASSWORD:-playeng}
|
|
|
|
|
|
DB_NAME=${DB_NAME:-playeng}
|
|
|
|
|
|
DB_PORT=${DB_PORT:-5432}
|
|
|
|
|
|
PORT=${PORT:-8080}
|
|
|
|
|
|
WEB_PORT=${WEB_PORT:-3001}
|
|
|
|
|
|
|
|
|
|
|
|
echo -e "${GREEN}🔄 Перезапуск Play Life...${NC}"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
# Проверяем, запущены ли контейнеры
|
|
|
|
|
|
if docker-compose ps | grep -q "Up"; then
|
|
|
|
|
|
echo -e "${YELLOW}Перезапуск существующих контейнеров...${NC}"
|
2026-01-06 14:54:37 +03:00
|
|
|
|
echo " - Backend сервер (с пересборкой)"
|
2026-01-04 19:42:29 +03:00
|
|
|
|
echo " - Frontend приложение (с пересборкой)"
|
|
|
|
|
|
echo " - База данных"
|
|
|
|
|
|
# Пересобираем и перезапускаем веб-сервер с новыми изменениями
|
|
|
|
|
|
echo -e "${BLUE}Пересборка веб-приложения...${NC}"
|
|
|
|
|
|
docker-compose build play-life-web
|
|
|
|
|
|
docker-compose up -d play-life-web
|
2026-01-06 14:54:37 +03:00
|
|
|
|
# Пересобираем и перезапускаем бэкенд с новыми изменениями
|
|
|
|
|
|
echo -e "${BLUE}Пересборка бэкенда...${NC}"
|
|
|
|
|
|
docker-compose build backend
|
|
|
|
|
|
docker-compose up -d --force-recreate backend
|
|
|
|
|
|
# Перезапускаем базу данных
|
|
|
|
|
|
docker-compose restart db
|
2026-01-03 17:08:42 +03:00
|
|
|
|
echo -e "${GREEN}✅ Контейнеры перезапущены${NC}"
|
|
|
|
|
|
else
|
|
|
|
|
|
echo -e "${YELLOW}Запуск контейнеров...${NC}"
|
2026-01-04 19:42:29 +03:00
|
|
|
|
echo " - База данных PostgreSQL 15 (порт: $DB_PORT)"
|
2026-01-03 17:08:42 +03:00
|
|
|
|
echo " - Backend сервер (порт: $PORT)"
|
|
|
|
|
|
echo " - Frontend приложение (порт: $WEB_PORT)"
|
2026-01-04 19:42:29 +03:00
|
|
|
|
docker-compose up -d --build
|
2026-01-03 17:08:42 +03:00
|
|
|
|
echo -e "${GREEN}✅ Контейнеры запущены${NC}"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo -e "${BLUE}📋 Статус сервисов:${NC}"
|
|
|
|
|
|
docker-compose ps
|
|
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo -e "${GREEN}✅ Готово!${NC}"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo -e "${BLUE}ℹ️ Используются креденшелы из .env:${NC}"
|
|
|
|
|
|
echo " - DB_USER: $DB_USER"
|
|
|
|
|
|
echo " - DB_NAME: $DB_NAME"
|
|
|
|
|
|
echo " - DB_PORT: $DB_PORT (внешний порт)"
|
|
|
|
|
|
echo " - Внутри Docker-сети: DB_HOST=db, DB_PORT=5432"
|
|
|
|
|
|
|