Это заготовка статьи. Информация с этой страницы дополняется
Полугодичный опыт использования Majordomo в контейнере показал наибольшую стабильность по сравнению с нативными вариантами установки. Стабильность системе в образе от @arsom придает supervisor, который следит за запуском основного цикла системы. Если по какой-то причине работа основного цикла будет нарушена, supervisor сможет с легкостью его перезапустить
Данную инструкцию можно использовать как на оригинальной версии 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
Далее должен автоматически обновиться список доступных пакетов.
Вам необходимо установить:
git
Docker
Также вам могут пригодиться:
kodExplorer
Midnight Commander
Plex
Download Station
Наиболее оптимальный вариант установки контейнера Docker Majordomo - установка из консоли линукс. Для доступа к консоли вам понадобится SSH клиент, например Putty https://www.putty.org/
Чтобы включить SSH доступ на сервере Synology (xpenology), необходимо зайти в "Панель управления" -> Терминал и SNMP и включить службу SSH.
Дальнейшие действия почти полностью повторяют инструкцию https://kb.mjdm.ru/%D1%83%D1%81%D1%82%D0%B0%D0%BD%...
Заходим через SSH клиент (напр. Putty) на ваш сервер и вводим логин и пароль пользователя, который вы установили при первоначальной настройке системы.
Проверяем, что в вашей системе установлен docker-compose введя имя утилиты в консоли. Должно появиться что-то типа такого:
Командой 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
Если сборка и запуск контейнеров прошли без ошибок, интерфейс Majordomo должен быть доступен по адресу http://192.168.1.xxx:8888
Остановить все контейнеры
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
Екатеринбург, Россия
На форуме: directman66