# 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 ```