Docker
Руководство по установке CUBE OS с помощью Docker в системах Linux.
Установите CUBE OS как контейнер Docker на хосте Linux. Этот метод хорошо подходит для домашних серверов, NAS-устройств и постоянно включенных Linux-машин.
1. Подготовка
Проверьте архитектуру хоста
CUBE Docker поддерживает следующие архитектуры Linux:
amd64 (
x86_64) — ПК, серверы, Synology NAS и подобные устройстваarm64 (
aarch64) — Raspberry Pi 4/5, Orange Pi и другие хосты ARM
Проверьте версию ядра Linux
Ядро 4.15 или новее требуется.
uname -rНекоторые NAS-устройства поставляются со старыми ядрами, такими как 4.4.x. Эти хосты несовместимы с CUBE Docker. В этом случае запустите CUBE OS в виртуальной машине Linux.
Установите Docker Engine
Установите Docker Engine на хост перед продолжением.
Используйте официальное руководство по установке Docker.
Проверьте необходимые порты
Убедитесь, что порты 80 и 1883 свободны на хосте.
sudo lsof -i :80
sudo lsof -i :188380 — веб-интерфейс CUBE OS
1883 — MQTT-брокер
Если другой сервис использует эти порты, сначала остановите его.
Подготовьте Zigbee-адаптер, если требуется
Если вы планируете добавить устройства Zigbee, подключите совместимый Zigbee-адаптер к хосту.
Проверенные Zigbee-адаптеры включают:
SONOFF ZBDongle-MAX SONOFF ZBDongle-PMG24 SONOFF ZBDongle-LMG21 SONOFF ZBDongle-E SONOFF ZBDongle-P Другие перечислены от разработчика @darkxst
Для получения дополнительной информации о поддержке Zigbee см. это руководство.
2. Скачайте образ
Скачайте последний образ
docker pull ghcr.io/ewelinkcube/cube-os:latest
3. Запустите CUBE OS
Создайте каталог данных
mkdir -p ~/cubeos-dataВ этом каталоге хранятся ваши устройства, сцены и настройки.
Проверьте путь к устройству Zigbee, если используете его (необязательно)
Распространенные пути к устройствам:
ls /dev/ttyUSB* /dev/ttyACM*Используйте правильный путь в следующей команде.
Запустите контейнер
Используйте эту команду как основу:
docker run -d \\
--name cubeos \\
--privileged \\
--net=host \\
-v ~/cubeos-data:/data \\
--device /dev/ttyUSB0:/dev/ttyUSB0 \\
-v /run/dbus/system_bus_socket:/host_dbus/system_bus_socket:ro \\
ghcr.io/ewelinkcube/cube-os:latest
Поймите основные параметры
--privileged— требуется для доступа к оборудованию--net=host— требуется для обнаружения в локальной сети и MQTT-v ~/cubeos-data:/data— сохраняет ваши данные после перезапуска контейнера--device /dev/ttyUSB0:/dev/ttyUSB0— пропускает Zigbee-адаптер-v /run/dbus/system_bus_socket:/host_dbus/system_bus_socket:ro— обеспечивает доступ к D-Bus для поддерживаемых функций
4. Доступ к CUBE OS
Убедитесь, что контейнер запущен
docker psСтатус контейнера должен показывать Работает.
Откройте веб-интерфейс
Откройте браузер в той же сети и перейдите по одному из этих адресов:
http://<HOST_IP>/
Замените <HOST_IP> на IP-адрес хоста Linux.
Используйте короткий локальный адрес позже
После настройки вы можете найти короткий ID на странице настроек.
Затем вы можете использовать cube-{short-id}.local чтобы идентифицировать этот экземпляр CUBE OS в вашей локальной сети.
5. Обновление CUBE OS
Развертывание Docker не поддерживает OTA-обновления через веб-интерфейс.
Чтобы обновить вручную:
Ваши данные остаются в ~/cubeos-data, поэтому устройства, сцены и настройки сохраняются после обновления.
6. Ограничения
Из-за изоляции контейнера в Docker-развертываниях недоступны следующие функции:
Дополнения — нельзя устанавливать или управлять дополнениями
Bluetooth-динамик — проброс Bluetooth не поддерживается
Обновление системы — OTA-обновления в веб-интерфейсе отключены
Перезагрузка / выключение — системные средства управления питанием недоступны
7. Примечание для Raspberry Pi
Если вы запускаете Docker на Raspberry Pi, убедитесь, что размер страницы равен 4096:
Последнее обновление