Страница 11 из 16

Re: Docker MajorDoMo

Добавлено: Пт дек 25, 2020 6:14 pm
Divan
Образ от nick7zmail
Чтобы мажордом в докере мог выключать компьютер, нужно установить samba. В synology, в докере c majordom открываем терминал и вставляем команду

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

apt-get install samba-common-bin -y
СпойлерПоказать
Безымянный2.jpg
Безымянный2.jpg (49.15 КБ) 3772 просмотра
Дальше настраиваем по этой инструкции но с некоторой поправочкой.
  • Конфиг в 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 КБ) 3767 просмотров

Re: Docker MajorDoMo

Добавлено: Пт дек 25, 2020 6:58 pm
Divan
Если в мажордом нужно запустить сценарий на python, то делается это так. Создаете папку, где лежат файлы мажордом и в сценарии указываете путь.

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

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

shell_exec("python3 /var/www/html/WLED/Kitchen/GeneralLighting/WLED_General_TurnOn100White.py");

Re: Docker MajorDoMo

Добавлено: Пт дек 25, 2020 8:09 pm
Divan
Как сделать бэкап базы в докере?

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

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

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

$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/>';
    }
}

Re: Docker MajorDoMo

Добавлено: Вт янв 19, 2021 2:56 pm
champloo
Ожидаем изменение кода структуры, что бы продолжить докеризацию приложения.

Re: Docker MajorDoMo

Добавлено: Вс янв 31, 2021 6:27 pm
liga71
Не работают "Устройства Online". В режиме URL работает, только непрерывно приходит извещение что устройство онлайн.(Решилось переустановкой)

Re: Docker MajorDoMo

Добавлено: Пт фев 05, 2021 5:33 pm
eeak1
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;
Это решит проблему со сложными паролями.

Re: Docker MajorDoMo

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

Re: Docker MajorDoMo

Добавлено: Пт мар 19, 2021 9:28 pm
Divan
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.

Re: Docker MajorDoMo

Добавлено: Пт мар 19, 2021 9:59 pm
sega6549
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.
Это понял, завтра проверю, а зачем мы задаём в файле тогда логин и пароль если они все равно стандартные?

Re: Docker MajorDoMo

Добавлено: Пт мар 19, 2021 10:00 pm
sega6549
Я имею в виду в файлике который потом собираем, не в мажердомо, в мажердомо понятно все