#!/bin/bash
# deploy.sh - Скрипт для развертывания Synology Power Control Bot

# Цвета для вывода
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color

# Проверяем наличие Docker и Docker Compose
echo -e "${YELLOW}Проверка наличия Docker...${NC}"
if ! [ -x "$(command -v docker)" ]; then
  echo -e "${RED}Ошибка: Docker не установлен.${NC}" >&2
  echo -e "Установите Docker, следуя инструкциям: https://docs.docker.com/get-docker/"
  exit 1
fi

echo -e "${YELLOW}Проверка наличия Docker Compose...${NC}"
if ! [ -x "$(command -v docker-compose)" ] && ! [ -x "$(command -v docker compose)" ]; then
  echo -e "${RED}Ошибка: Docker Compose не установлен.${NC}" >&2
  echo -e "Установите Docker Compose, следуя инструкциям: https://docs.docker.com/compose/install/"
  exit 1
fi

# Проверяем наличие файла .env
echo -e "${YELLOW}Проверка файла .env...${NC}"
if [ ! -f ".env" ]; then
  echo -e "${RED}Ошибка: Файл .env не найден.${NC}" >&2
  echo -e "Создайте файл .env с необходимыми переменными окружения."
  exit 1
fi

# Создаем директорию для логов
echo -e "${YELLOW}Создание директории для логов...${NC}"
mkdir -p logs
chmod 777 logs

# Сборка и запуск Docker контейнеров
echo -e "${YELLOW}Сборка и запуск Docker контейнеров...${NC}"
docker-compose down
docker-compose up -d --build

# Проверка статуса контейнеров
echo -e "${YELLOW}Проверка статуса контейнеров...${NC}"
docker-compose ps

echo -e "${GREEN}Развертывание завершено успешно!${NC}"
echo -e "Для просмотра логов: ${YELLOW}docker-compose logs -f${NC}"
echo -e "Для остановки: ${YELLOW}docker-compose down${NC}"
