107 lines
3.0 KiB
Markdown
107 lines
3.0 KiB
Markdown
# 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
|
||
```
|