# Synology Power Control Bot - Docker Deployment

## Подготовка к развертыванию

Перед развертыванием в Docker убедитесь, что:

1. Docker и Docker Compose установлены в вашей системе.
2. Файл `.env` настроен с правильными значениями.

## Структура проекта для Docker

```
synology_power_control_bot/
├── src/               # Исходный код бота
├── logs/              # Папка для логов (будет смонтирована как том)
├── .env               # Файл с переменными окружения
├── requirements.txt   # Зависимости Python
├── Dockerfile         # Инструкции для сборки образа
├── docker-compose.yml # Конфигурация Docker Compose
└── run.py             # Точка входа
```

## Настройка переменных окружения

Убедитесь, что файл `.env` содержит все необходимые переменные:

```
# Telegram Bot API
TELEGRAM_TOKEN=your_telegram_bot_token
ADMIN_USER_IDS=123456789,987654321  # ID пользователей-администраторов через запятую

# Synology NAS
SYNOLOGY_HOST=192.168.1.100
SYNOLOGY_PORT=5000  # Обычно 5000 для HTTP и 5001 для HTTPS
SYNOLOGY_USERNAME=your_username
SYNOLOGY_PASSWORD=your_password
SYNOLOGY_SECURE=True  # Использовать HTTPS
SYNOLOGY_VERIFY_SSL=False  # Проверка SSL-сертификата
SYNOLOGY_TIMEOUT=10  # Таймаут для API запросов в секундах
SYNOLOGY_API_VERSION=1  # Версия API
SYNOLOGY_POWER_API=SYNO.Core.System  # API для управления питанием

# WOL (Wake-on-LAN)
MAC_ADDRESS=00:11:22:33:44:55  # MAC-адрес Synology NAS
WOL_BROADCAST=255.255.255.255  # Broadcast-адрес для WOL
WOL_PORT=9  # Порт для WOL (обычно 7 или 9)

# Logging
LOG_LEVEL=INFO
```

## Сборка и запуск

### Сборка и запуск контейнеров

```bash
docker-compose up -d --build
```

### Просмотр логов

```bash
docker-compose logs -f
```

### Остановка контейнеров

```bash
docker-compose down
```

## Обновление

Для обновления бота:

1. Остановите контейнеры:
   ```bash
   docker-compose down
   ```

2. Скачайте последние изменения (если используете Git):
   ```bash
   git pull
   ```

3. Соберите и запустите контейнеры заново:
   ```bash
   docker-compose up -d --build
   ```

## Устранение неполадок

### Проверка статуса контейнера
```bash
docker-compose ps
```

### Проверка логов контейнера
```bash
docker-compose logs -f synology-bot
```

### Подключение к контейнеру
```bash
docker-compose exec synology-bot bash
```
