Страница 3 из 17
Re: Docker MajorDoMo
Добавлено: Пт май 24, 2019 2:50 pm
champloo
Дмитрий Иванов писал(а): Пт май 24, 2019 2:08 pm
champloo писал(а): Пт май 24, 2019 1:00 pm
Автозагрузка выставляется в docker-compose параметром в каждом контейнере:
хм, в файле /docker-majordomo/docker-compose.yml уже присутствует такая директива, но мажордом не стартует, пока в консоле не введешь команду
заскриптить и в автозапуск? Это правильно будет?
Не совсем. Для mysql, вы правы стоит данная опция.
Для majordomo нет
Добавьте строчку или дождитесь следующего релиза

для перезапуска используйте:
Если вы изменили что-нибудь в конфигурации или Docker-file
Re: Docker MajorDoMo
Добавлено: Пт май 24, 2019 3:05 pm
Дмитрий Иванов
Пока нет официальной инструкции, на всякий случай, подробная последовательность моих действий по установке на Debian 9:
Устанавливаем Debian 9 из опций отмечаем ssh-server и убираем GUI.
логинимся под root
разрешаем руту ssh: (можно и без этого, если под юзером с sudo)
в секцию # Authentication: добавляем:
ctrl+x Y (выходим, сохраняем).
заходим по ssh через PuTTY под root
доставляем компоненты:
Код: Выделить всё
apt install build-essential
apt install curl
apt install mc
apt install git
добавляем группу docker:
ставим docker:
Код: Выделить всё
apt update
curl -sSL https://get.docker.com/ | sh
systemctl status docker
Устанавливаем композер:
Код: Выделить всё
curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
usermod -aG docker $USER
reboot
Клонируем репозиторий:
Код: Выделить всё
git clone https://bitbucket.org/a-som/docker-majordomo.git
копируем и правим config.env
Код: Выделить всё
cd docker-majordomo
cp config.env.dist config.env && nano config.env
пример файла:
Код: Выделить всё
PROJECT_NAME=localhost
env=dev
os=debian
# mysql
MYSQL_HOST=mysql
MYSQL_ROOT_PASSWORD=вашпароль
MYSQL_DATABASE=db_terminal
MYSQL_USER=root
MYSQL_PASSWORD=вашпароль
MYSQL_PORT=3306
модули доставляем:
устанавливаем:
Код: Выделить всё
cd docker-majordomo/
make install
cp -f ./app/config.php.sample ./app/config.php && nano ./app/config.php
правим подключение к базе:
Код: Выделить всё
Define('DB_HOST', 'mysql');
Define('DB_NAME', 'db_terminal');
Define('DB_USER', 'root');
Define('DB_PASSWORD', 'вашпароль');
make init-db
далее:
champloo писал(а): Чт май 23, 2019 11:46 am
Внимание!
Мною протестировано, что первый запуск происходит продолжительное время из за установки модулей cycle.php
Но так создаёте некоторые нюансы при первом запуске.
Инструкция как запустить эту шайтан машинку после всего, что вы сделали в readme:
Код: Выделить всё
make exec-app
ps -auxf # находим pid процесса. например 33
kill 33
/usr/bin/php /var/www/html/cycle.php ## Ждём когда сгенерируется все templates
После генерации templates, сделаем всё заново:
Вуаля, всё завелось
Для автозапуска добавить restart: always перед строкой mysql:
champloo писал(а): Пт май 24, 2019 2:50 pm
для перезапуска используйте:
Если вы изменили что-нибудь в конфигурации или Docker-file
Столкнулся с тем, что не работали устройства онлайн:
Код: Выделить всё
make exec-app
apt install iputils-ping
exit
Это помогло или само заработало сейчас уже не скажу...
Так же в этой версии нужно поправить права:
Код: Выделить всё
make exec-app
chown -R www-data:www-data /var/www
chmod -R 777 /var/www
exit
Re: Docker MajorDoMo
Добавлено: Пт май 24, 2019 3:39 pm
champloo
Дмитрий Иванов писал(а): Пт май 24, 2019 3:05 pm
Пока нет официальной инструкции, на всякий случай, подробная последовательность моих действий по установке на Debian 9:
Устанавливаем Debian 9 из опций отмечаем ssh-server и убираем GUI.
логинимся под root
разрешаем руту ssh: (можно и без этого, если под юзером с sudo)
в секцию # Authentication: добавляем:
ctrl+x Y (выходим, сохраняем).
заходим по ssh через PuTTY под root
доставляем компоненты:
Код: Выделить всё
apt install build-essential
apt install curl
apt install mc
apt install git
добавляем группу docker:
ставим docker:
Код: Выделить всё
apt update
curl -sSL https://get.docker.com/ | sh
systemctl status docker
Устанавливаем композер:
Код: Выделить всё
curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
usermod -aG docker $USER
reboot
Клонируем репозиторий:
Код: Выделить всё
git clone https://bitbucket.org/a-som/docker-majordomo.git
копируем и правим config.env
Код: Выделить всё
cd docker-majordomo
cp config.env.dist config.env && nano config.env
пример файла:
Код: Выделить всё
PROJECT_NAME=localhost
env=dev
os=debian
# mysql
MYSQL_HOST=mysql
MYSQL_ROOT_PASSWORD=вашпароль
MYSQL_DATABASE=db_terminal
MYSQL_USER=root
MYSQL_PASSWORD=вашпароль
MYSQL_PORT=3306
модули доставляем:
устанавливаем:
Код: Выделить всё
cd docker-majordomo/
make install
cp -f ./app/config.php.sample ./app/config.php && nano ./app/config.php
правим подключение к базе:
Код: Выделить всё
Define('DB_HOST', 'mysql');
Define('DB_NAME', 'db_terminal');
Define('DB_USER', 'root');
Define('DB_PASSWORD', 'вашпароль');
make init-db
далее:
champloo писал(а): Чт май 23, 2019 11:46 am
Внимание!
Мною протестировано, что первый запуск происходит продолжительное время из за установки модулей cycle.php
Но так создаёте некоторые нюансы при первом запуске.
Инструкция как запустить эту шайтан машинку после всего, что вы сделали в readme:
Код: Выделить всё
make exec-app
ps -auxf # находим pid процесса. например 33
kill 33
/usr/bin/php /var/www/html/cycle.php ## Ждём когда сгенерируется все templates
После генерации templates, сделаем всё заново:
Вуаля, всё завелось
Для автозапуска добавить restart: always перед строкой mysql:
champloo писал(а): Пт май 24, 2019 2:50 pm
для перезапуска используйте:
Если вы изменили что-нибудь в конфигурации или Docker-file
Столкнулся с тем, что не работали устройства онлайн:
Код: Выделить всё
make exec-app
apt install iputils-ping
exit
Это помогло или само заработало сейчас уже не скажу...
Так же в этой версии нужно поправить права:
Код: Выделить всё
make exec-app
chown -R www-data:www-data /var/www
chmod -R 777 /var/www
exit
Я вчера с нуля Сергею показал без всех этих нюансов

Но, спасибо. Надеюсь кому-нибудь пригодится.
Разработка новых образов и систем и поддержка их офицально approved.
В течении недели подготовлю линейность и подедржку всего.
Re: Docker MajorDoMo
Добавлено: Пт май 24, 2019 4:57 pm
Дмитрий Иванов
Я убедился, что без пакета iputils-ping в самом докере, в МД не работают устройства online и статус интернета желтый. После обновления системы, всё, что я устанавливал внутри контейнера слетело, и интернет пожелтел... А после
всё заработало.
Re: Docker MajorDoMo
Добавлено: Пт май 24, 2019 6:49 pm
champloo
Хорошо. Я добавлю этот пакет в релиз.
Re: Docker MajorDoMo
Добавлено: Пн май 27, 2019 10:04 am
Дмитрий Иванов
Такой вопрос: какова будет идеология по установке доп. сервисов в ОС. Например, для MQTT нужен mosquitto, я так полагаю, что его нужно ставить не в докер, а в базовую ОС. А в настройках модуля указывать не localhost, а внешний ip сервера. Верно?
С модулями, где можно указать ip сервера в общем-то понятно, а вот, например, что делать с модулем "Устройства Bluetooth", которому нужен пакет BlueZ?
Re: Docker MajorDoMo
Добавлено: Вт май 28, 2019 5:19 pm
champloo
Дмитрий Иванов писал(а): Пн май 27, 2019 10:04 am
Такой вопрос: какова будет идеология по установке доп. сервисов в ОС. Например, для MQTT нужен mosquitto, я так полагаю, что его нужно ставить не в докер, а в базовую ОС. А в настройках модуля указывать не localhost, а внешний ip сервера. Верно?
С модулями, где можно указать ip сервера в общем-то понятно, а вот, например, что делать с модулем "Устройства Bluetooth", которому нужен пакет BlueZ?
Хороший вопрос.
Докер в принципе может фовардить системные файлы и /dev
я думаю проблем особо не будет. Но вероятно всего микро-сервисить буду.
Пока честно, ещё даже не дошли руки проверить всё т.к. никто особо не пытался.
Re: Docker MajorDoMo
Добавлено: Ср май 29, 2019 10:54 pm
immortal
база я вижу не оптимизирована, как сделать установку с оптимизацией базы данных?
Re: Docker MajorDoMo
Добавлено: Чт май 30, 2019 11:27 am
directman66
Мои пожелания по внедрению пакетов:
1) Для работы с ble желательно внедрить bluez (его отдельная установка не всегда заканчивается успешно)
2) Для работы с s.m.a.r.t. smartmontools
3) для работы с arp итд нужна утилита net-tools
4) рассмотреть варианты установки python, nodejs для совместного использования.
5) часто нужны утилиты для компиляции (make..)
Re: Docker MajorDoMo
Добавлено: Пн июн 10, 2019 6:25 am
directman66
Задача жива?