Docker MajorDoMo

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Docker MajorDoMo

Сообщение Divan » Пт дек 25, 2020 6:14 pm

Образ от nick7zmail
Чтобы мажордом в докере мог выключать компьютер, нужно установить samba. В synology, в докере c majordom открываем терминал и вставляем команду

Код: Выделить всё

apt-get install samba-common-bin -y
СпойлерПоказать
Безымянный2.jpg
Безымянный2.jpg (49.15 КБ) 3617 просмотров
Дальше настраиваем по этой инструкции но с некоторой поправочкой.
  • Конфиг в smaba уже есть и правим по своему усмотрению
  • В majordomo создаем такой сценарии

Код: Выделить всё

$shutdown = shell_exec("net rpc shutdown -t 10 -f -C Этот_компьютер_будет_сейчас_выключен -U логин%пароль -I IP");


Если во время теста нужно, чтобы ПК не выключился, то создаем ярлык на рабочем столе, который будет отменять команду на выключение ПК

Код: Выделить всё

C:\Windows\System32\shutdown.exe -a
СпойлерПоказать
изображение_2020-12-25_183555.png
изображение_2020-12-25_183555.png (22.99 КБ) 3612 просмотров
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Docker MajorDoMo

Сообщение Divan » Пт дек 25, 2020 6:58 pm

Если в мажордом нужно запустить сценарий на python, то делается это так. Создаете папку, где лежат файлы мажордом и в сценарии указываете путь.

Пример запуска сценария WLED_General_TurnOn100White.py, данный файлик я положил в папку WLED, которая лежит по пути /var/www/html/WLED
СпойлерПоказать
изображение_2020-12-25_185550.png
изображение_2020-12-25_185550.png (32.13 КБ) 3608 просмотров
указываем версию питона с которым работает ваш скрипт, если вы написали скрипт на питоне 3-й версии, то указываем python3, если написали скрипт на питоне ниже 3-й версии, то указываем python

Код: Выделить всё

shell_exec("python3 /var/www/html/WLED/Kitchen/GeneralLighting/WLED_General_TurnOn100White.py");
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Docker MajorDoMo

Сообщение Divan » Пт дек 25, 2020 8:09 pm

Как сделать бэкап базы в докере?

В докере иной способ снятия бэкапа с базы. Переделал код. Просто вставьте его в сценарий и поместите в крон. Данный код позволит создавать бэкапы с датой и одновременно удалять старые бэкапы

Это будет выглядеть так
СпойлерПоказать
изображение_2020-12-25_210216.png
изображение_2020-12-25_210216.png (19.86 КБ) 3576 просмотров

Код: Выделить всё

$backup_folder  = '/var/www/html/backup/'; // директория, куда будем сохранять резервную копию БД
$backup_name = 'backup_dbterminal_' . date("Y-m-d");    // имя архива
$fullFileName = $backup_folder . '/' . $backup_name . '.sql';
$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD. " --host=" . DB_HOST;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
$delay_delete = 30 * 24 * 3600;   // время жизни архива в секундах

if (file_exists($fullFileName)) rename($fullFileName, $fullFileName . '.prev');
exec(mysqldump . $mysqlDumpParam . " > " . $fullFileName);

function deleteOldArchives($backup_folder, $delay_delete)
{
    $this_time = time();
    $files = glob($backup_folder . "*.sql*");
    $deleted = array();
    foreach ($files as $file) {
        if ($this_time - filemtime($file) > $delay_delete) {
            array_push($deleted, $file);
            unlink($file);
        }
    }
    return $deleted;
}

$deleteOld = deleteOldArchives($backup_folder, $delay_delete);
if ($deleteOld) {
    foreach ($deleteOld as $val) {
        $mail_message .= 'File deleted: ' . $val . '<br/>';
    }
}
За это сообщение автора Divan поблагодарили (всего 2):
zagorodnov (Сб дек 26, 2020 6:59 am) • eeak1 (Пт фев 05, 2021 5:34 pm)
Рейтинг: 2.33%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
champloo
Сообщения: 42
Зарегистрирован: Ср май 22, 2019 12:07 pm
Благодарил (а): 2 раза
Поблагодарили: 15 раз

Re: Docker MajorDoMo

Сообщение champloo » Вт янв 19, 2021 2:56 pm

Ожидаем изменение кода структуры, что бы продолжить докеризацию приложения.
By design...
liga71
Сообщения: 11
Зарегистрирован: Вт янв 24, 2017 8:08 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Docker MajorDoMo

Сообщение liga71 » Вс янв 31, 2021 6:27 pm

Не работают "Устройства Online". В режиме URL работает, только непрерывно приходит извещение что устройство онлайн.(Решилось переустановкой)
Последний раз редактировалось liga71 Вт фев 16, 2021 8:14 am, всего редактировалось 1 раз.
eeak1
Сообщения: 51
Зарегистрирован: Чт май 12, 2016 9:13 am
Благодарил (а): 22 раза
Поблагодарили: 11 раз
Контактная информация:

Re: Docker MajorDoMo

Сообщение eeak1 » Пт фев 05, 2021 5:33 pm

Divan писал(а):
Пт дек 25, 2020 8:09 pm

Код: Выделить всё

$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD. " --host=" . DB_HOST;
Предлагаю заменить на:

Код: Выделить всё

$mysqlDumpParam = " --user=" . DB_USER . " --password='" . DB_PASSWORD. "' --host=" . DB_HOST;
Это решит проблему со сложными паролями.
За это сообщение автора eeak1 поблагодарил:
Divan (Пн фев 08, 2021 5:02 pm)
Рейтинг: 1.16%
Алиса живёт на нубуке с закрытой крышкой в Docker контейнере, соседствует с контейнерами nextcloud, plex, mosquitto, и т.д.
ранее в Docker контейнере на Raspberry Pi 4
ранее натив на Raspberry Pi 3
https://www.eeak.biz
sega6549
Сообщения: 530
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: Docker MajorDoMo

Сообщение sega6549 » Пт мар 19, 2021 7:56 pm

Добрый день, не знаю жива ли еще тема и актуальны ли мои вопросы, ставил докер на Ubuntu 20, сами контейнеры ставил по инструкции от nick7zmail, вроде все поставилось, все контейнеры запустились, но к mysql мажердомо не подключается пишет пароль не подходит, поставил pypmyadmin, но он тоже самое пишет, переделывал раз 100 наверное, пароль не подходит и все тут, и пустой пробовал и цифры и буквы, всегда одно и тоже, и пользователь совпадает, и пароль уже копировал прямо с файла но не пускает собака, подскажите сталкивался кто с этим и может есть решение какое то? Заранее спасибо
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Docker MajorDoMo

Сообщение Divan » Пт мар 19, 2021 9:28 pm

sega6549 писал(а):
Пт мар 19, 2021 7:56 pm
Добрый день, не знаю жива ли еще тема и актуальны ли мои вопросы, ставил докер на Ubuntu 20, сами контейнеры ставил по инструкции от nick7zmail, вроде все поставилось, все контейнеры запустились, но к mysql мажердомо не подключается пишет пароль не подходит, поставил pypmyadmin, но он тоже самое пишет, переделывал раз 100 наверное, пароль не подходит и все тут, и пустой пробовал и цифры и буквы, всегда одно и тоже, и пользователь совпадает, и пароль уже копировал прямо с файла но не пускает собака, подскажите сталкивался кто с этим и может есть решение какое то? Заранее спасибо
Если вы установили свою БД, то тогда может быть конфликт, нужно изменить порты, указать вместо localhost:свой порт, отличный от 3306, если не ставили отдельную БД, то тогда стандартный логин\пароль, это root\rootpsw.

В самом контейнере встроена Maria DB и доступ к ней уже настроен по умолчанию ( localhost:3306 ).
Стандартный конфиг:

Код: Выделить всё

В конфиге по умолчанию так и ничего не трогаем. 
[code]Define('DB_HOST', 'localhost:3306');
Define('DB_NAME', 'db_terminal');
Define('DB_USER', 'root');
Define('DB_PASSWORD', 'rootpsw');
Если не пускает по этим данным, то скорее в Maria DB стоит запрет на доступ по локальному адресу 127.0.0.1 или включен запрет на доступ без пароля.

У вас два варианта:
1) Первый это переустановить мажорик, удалите все, очистите контейнеры.
2) Второй вариант, это получить доступ к Maria DB через консоль. Можете загуглить как получить доступ к Maria DB. Вот один из примеров как получить доступ к MySQL.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
sega6549
Сообщения: 530
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: Docker MajorDoMo

Сообщение sega6549 » Пт мар 19, 2021 9:59 pm

Divan писал(а):
Пт мар 19, 2021 9:28 pm
sega6549 писал(а):
Пт мар 19, 2021 7:56 pm
Добрый день, не знаю жива ли еще тема и актуальны ли мои вопросы, ставил докер на Ubuntu 20, сами контейнеры ставил по инструкции от nick7zmail, вроде все поставилось, все контейнеры запустились, но к mysql мажердомо не подключается пишет пароль не подходит, поставил pypmyadmin, но он тоже самое пишет, переделывал раз 100 наверное, пароль не подходит и все тут, и пустой пробовал и цифры и буквы, всегда одно и тоже, и пользователь совпадает, и пароль уже копировал прямо с файла но не пускает собака, подскажите сталкивался кто с этим и может есть решение какое то? Заранее спасибо
Если вы установили свою БД, то тогда может быть конфликт, нужно изменить порты, указать вместо localhost:свой порт, отличный от 3306, если не ставили отдельную БД, то тогда стандартный логин\пароль, это root\rootpsw.

В самом контейнере встроена Maria DB и доступ к ней уже настроен по умолчанию ( localhost:3306 ).
Стандартный конфиг:

Код: Выделить всё

В конфиге по умолчанию так и ничего не трогаем. 
[code]Define('DB_HOST', 'localhost:3306');
Define('DB_NAME', 'db_terminal');
Define('DB_USER', 'root');
Define('DB_PASSWORD', 'rootpsw');
Если не пускает по этим данным, то скорее в Maria DB стоит запрет на доступ по локальному адресу 127.0.0.1 или включен запрет на доступ без пароля.

У вас два варианта:
1) Первый это переустановить мажорик, удалите все, очистите контейнеры.
2) Второй вариант, это получить доступ к Maria DB через консоль. Можете загуглить как получить доступ к Maria DB. Вот один из примеров как получить доступ к MySQL.
Это понял, завтра проверю, а зачем мы задаём в файле тогда логин и пароль если они все равно стандартные?
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
sega6549
Сообщения: 530
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: Docker MajorDoMo

Сообщение sega6549 » Пт мар 19, 2021 10:00 pm

Я имею в виду в файлике который потом собираем, не в мажердомо, в мажердомо понятно все
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Ответить