directman

<<< Назад

Установка Majordomo на synology (xpenology) с использованием docker контейнера

Это заготовка статьи. Информация с этой страницы дополняется

Вместо вступления

Полугодичный опыт использования Majordomo в контейнере показал наибольшую стабильность по сравнению с нативными вариантами установки. Стабильность системе в образе от @arsom придает supervisor, который следит за запуском основного цикла системы. Если по какой-то причине работа основного цикла будет нарушена, supervisor сможет с легкостью его перезапустить

5

Данную инструкцию можно использовать как на оригинальной версии NAS от компании Synology, так и в форке под названием хpenology. Установка хpenology описана в этой заметке https://connect.smartliving.ru/profile/1502/blog33...

Подбор конфигурации под будущий домашний NAS можно найти на форуме https://xpenology.com/forum/forum/102-%D0%B0%D0%BF...

Для написания данной заметки использовались наработки Nick7zmail https://kb.mjdm.ru/%D1%83%D1%81%D1%82%D0%B0%D0%BD%...

И собранный нашим уважаемым майнтейнером @arsom образ контейнера, находящийся по ссылке https://github.com/A-SOM/docker-majordomo

Установка альтернативного репозитория

После развертывания DSM Synology (xpenology), интерфейс управления системой доступен по адресу http://192.168.1.xxx:5000, где 192.168.1.xxx - ip адрес вашего хранилища. Его IP-адрес можно узнать на странице сетевого маршрутизатора.

Для установки Majordomo потребуется добавить альтернативный репозиторий. Для этого необходимо зайти в "Центр пакетов" -> "Источники пакетов" и добавить репозиторий http://packages.synocommunity.com

1

Далее должен автоматически обновиться список доступных пакетов.

Вам необходимо установить:

git
Docker

Также вам могут пригодиться:

kodExplorer
Midnight Commander
Plex
Download Station

2

Включение консоли

Наиболее оптимальный вариант установки контейнера Docker Majordomo - установка из консоли линукс. Для доступа к консоли вам понадобится SSH клиент, например Putty https://www.putty.org/

Чтобы включить SSH доступ на сервере Synology (xpenology), необходимо зайти в "Панель управления" -> Терминал и SNMP и включить службу SSH.

3

Установка Majordomo

Дальнейшие действия почти полностью повторяют инструкцию https://kb.mjdm.ru/%D1%83%D1%81%D1%82%D0%B0%D0%BD%...
Заходим через SSH клиент (напр. Putty) на ваш сервер и вводим логин и пароль пользователя, который вы установили при первоначальной настройке системы.
Проверяем, что в вашей системе установлен docker-compose введя имя утилиты в консоли. Должно появиться что-то типа такого:
4

Командой dir ~ проверяем, какие тома доступны для работы

 dir ~
root@xpenology:~$ dir /
1  bin  config  dev  etc  etc.defaults  initrd  lib  lib32  lib64  lost+found  Media  mnt  proc  root  run  sbin  Server  sys  tmp  usr  var  var.defaults  volume1  volume2  volume3  volumeUSB1

Создаем и переходим в рабочую папку

sudo mkdir /volume1/mjdm/
cd /volume1/mjdm/

Клонируем compose-файл

git clone https://github.com/A-SOM/docker-majordomo
sudo cp -r /volume1/mjdm/docker-majordomo/* /volume1/mjdm/
rm -rf /volume1/mjdm/docker-majordomo
cd /volume1/mjdm/

Редактируем конфигурационные файлы:

nano docker-compose.yml
nano app-conf/debian/supervisor/supervisor.conf
nano app-conf/debian/nginx/nginx.conf
nano app-conf/debian/nginx/default.conf

Клонируем сборку Majordomo

git clone https://github.com/sergejey/majordomo
mv majordomo app
nano config.php

Компилим и запускаем

docker-compose build
docker-compose up -d

Разворачиваем базу данных

docker-compose exec mysql mysqladmin -prootpsw drop db_terminal
docker-compose exec mysql mysqladmin -prootpsw create db_terminal
cat ./app/db_terminal.sql | docker-compose exec -T mysql mysql -uroot -prootpsw db_terminal

Перезапускаем контейнеры

docker-compose down
docker-compose up -d

Добавляем костыльно права на папку с мажордомо

docker-compose exec chown -R www-data:www-data /volume1/mjdm/docker-majordomo/app 
docker-compose exec  chmod -R 777 /volume1/mjdm/docker-majordomo/app

По адресу http://192.168.1.xxx:9001 можно будет найти ваш супервизор, который отвечает за запуск основноо цикла.
логин/пароль majordomo
8

Если сборка и запуск контейнеров прошли без ошибок, интерфейс Majordomo должен быть доступен по адресу http://192.168.1.xxx:8888

Управление контейнерами DSM

6
7

Управление контейнерами из командной строки

Остановить все контейнеры
sudo docker kill $(docker ps -q)

Удалить все контейнеры
sudo docker rm $(sudo docker ps -a -q)

Удалить все образы
sudo docker rmi $(sudo docker images -q)

Просмотр портов контейнера
sudo docker port id

Проброс последовательно порта на примере запуска контейнера zigbee2mqtt https://www.zigbee2mqtt.io/information/docker.html
docker run -it -v $(pwd)/data:/app/data --device=/dev/ttyACM0 -e TZ=Europe/Amsterdam -v /run/udev:/run/udev:ro --privileged=true koenkk/zigbee2mqtt

Полезные ссылки

Обсудить docker образ можно в этой ветке форума https://mjdm.ru/forum/viewtopic.php?f=3&t=6453&hil...

Шпаргалка с командами Docker https://habr.com/ru/company/flant/blog/336654/
https://linoxide.com/linux-how-to/docker-commands-...

Статья в базе знаний от Nick7zmail https://kb.mjdm.ru/%D1%83%D1%81%D1%82%D0%B0%D0%BD%...

Репозиторий контейнера https://github.com/A-SOM/docker-majordomo

Обсуждение (1) (1)

Смотрите так же:
02.03.2021 Добавляем новые или недостающие метрики управления устройств в модуле zigbee2mqtt
16.02.2021 Установка Majordomo на JetHUB D1
02.02.2021 Shelly 1
30.09.2020 Команды для назначения владельцев папок
16.09.2020 Собираем список ip вызывных панелей с поддержкой SIP
03.07.2020 Получаем безопасный доступ к Web странице MajorDoMo
24.04.2020 Установка MajorDoMo на synology в 3 клика
13.02.2020 Настройка модуля zigbee2mqtt для работы с zigbee2mqtt или шлюзом sls zigbee gateway
13.02.2020 Настройка модуля zigbee2mqtt для работы с zigbee2mqtt или шлюзом sls zigbee gateway
25.01.2020 Команды для настройки прав пользователей на папку с majordomo
23.01.2020 Отключаем строгий режим MYSQL штатными средствами
12.10.2019 Подключаем светодиодные ленты к контроллеру MegaD
11.10.2019 Варианты интеграции электроприводов
30.09.2019 Выбор источников сигнала телевизоров LG 2013
29.09.2019 Узнаем версию дистрибутива linux
24.09.2019 Установка необходимых пакетов в xpenology через docker
16.09.2019 Примеры разметки Markdown
14.09.2019 Краткий обзор выключателей, в том числе Sonoff T4EU1C
13.09.2019 Сценарий для канала @MajorDoMo_feed
26.03.2020 Опыт установки Synology DSM
09.09.2019 Делаем majordroid лаунчером андройд по-умолчанию.
04.09.2019 Реализация сценария "кто-то пришел"
02.09.2019 Отправляем график hightcharts свойства любого объекта в телеграмм
17.09.2019 Автономная сигнализация на базе контроллера megad-2561
27.08.2019 Управление громкостью терминалов через телеграмм
26.08.2019 Полноценная консоль в браузере (wetty)
16.08.2019 Точечное регулирование радиаторов отопления
18.08.2019 Собираем голосовой помощник на базе WM8960 Audio HAT и raspberry pi zero w
13.08.2019 Общедоступная ссылка с закатом, рассветом и текущей погодой
24.07.2019 Самый дешевый вариант видеонаблюдения
22.07.2019 Запуск MajorDroid на одноплатниках, старых планшетах, телефонах.
22.07.2019 Запуск Majordroid на старом железе
15.07.2019 Устанавливаем opencv и необходимые библиотеки на ubuntu 18.04 без использования python
05.07.2019 Решение проблемы Incorrect integer value: '' for column 'ID' at row 1
04.07.2019 О приборах учета и удаленном снятии показаний (вода и газ)
04.07.2019 О приборах учета и удаленном снятии показаний (электричество)
03.07.2019 Конвертируем rs-485 в TCP-IP
24.06.2019 Наблюдение за радиационной обстановкой в регионе
06.06.2019 Меню пылесоса Xiaomi в телеграмм
06.06.2019 Удобный просмотр данных сенсоров через телеграмм
06.06.2019 Просмотр камер через телеграмм
06.06.2019 Управление светом через телеграмм
06.06.2019 Колор-пикер для телеграм
06.05.2019 Список символов emoji
17.04.2019 Установка z-way на Ubuntu
16.04.2019 Решение проблемы ERROR 1040 (HY000): Too many connections
09.09.2018 Список домофонов с IP интерфейсом
29.08.2018 Список кондиционеров с wifi
29.08.2018 Список доступных к покупке IP колонок
15.07.2018 Интеграция датчика Mi flora plant к системе УД MAJORDOMO
13.06.2018 Полезные команды для работы с git
27.05.2018 преобразование html страниц в картинку и отправка в телеграмм
24.05.2018 Полезные sql запросы
23.05.2018 Создание образа nand памяти orange pi plus2
16.05.2018 Команды для работы с базой данных напрямую
13.04.2018 Индикаторы о заряде батареек без использования картинок
06.04.2018 Установка и настройка python на windows для работы систем распознавания
05.04.2018 Распознавание лиц подходящих к двери людей с помощью ip камеры и открытие двери, если нейросеть признала своего
04.04.2018 Управление таймерами выключения света
04.04.2018 Управление RGB контроллером на базе ESP8266
03.04.2018 Увеличение разрешения китайских камер на чипе hi3516c H264
13.03.2018 Использование колонки google home в качестве терминала Majordomo
13.03.2018 Установка и подключение rtl usb донгла для чтения датчиков температуры и кнопок 433 мгц
13.03.2018 Настройка брокера MQTT
17.02.2018 Проект "умная входная дверь"
11.02.2018 Отправка всех значений свойства объекта в телеграм
21.12.2017 получение адреса по GPS координатам
21.12.2017 получение / передача GPS координат сервису livegps.com
21.12.2017 чтение мгновенных данных U,P, I электросчетчика милур 104
21.12.2017 Получение координат с маяков и gsm сигнализаций starline-online.ru

Екатеринбург, Россия

На форуме: directman66