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

Docker MajorDoMo

Добавлено: Ср май 22, 2019 12:30 pm
champloo
Всем привет.
Я присоеденился к разработе и улучшению majordomo.
Ожидайте в ближайшее время удобный и качественный скрипты для работы и разворачиванию системы. Так же помощь в ваших вопросах по linux.

По теме: Сергей Джейгало [SergeJey] попросил меня разработать версию docker для пользователей. Я немного переделал структуру серверную и завернул в удобный по мне функционал.
В данный момент готова версия для linux и windows.

Это эксперементальная версия, в будущем будет улучшаться и дорабатываться. Система работает с alfa веткой т.к. в ней есть изменения которые позволяют коректно работать окружению
Присоеденяйтесь к тестированию.
updated: 21.01.2020
https://github.com/A-SOM/docker-majordomo

Re: Docker MajorDoMo

Добавлено: Ср май 22, 2019 12:30 pm
champloo
резерв #1

Re: Docker MajorDoMo

Добавлено: Ср май 22, 2019 12:31 pm
champloo
резерв #2

Re: Docker MajorDoMo

Добавлено: Ср май 22, 2019 12:38 pm
directman66
Очень полезная работа проведена. Спасибо.

Можно более подробно расписать, что нужно установить
СпойлерПоказать
Установка под Linux
todo сделать её внятней.

Склонировать данный репозиторий.
Скопировать config.env.dist в config.env и настраиваем под себя cp config.env.dist config.env
Подтянуть submodules git submodule update --init --recursive
Устанавливаем docker и docker-compose для себя. Как вариант(плохой) и перезапускаем сервер: sudo apt get update && sudo apt-get install docker docker-compose && sudo usermod -aG docker $USER && reboot
Запускаем сборку и подгружаем базу данных. У вас спросят удалять ли базу данных. Соглашаемся. make install && make init-db
Настраиваем в ./app config.php. Учтите, host теперь: mysql(а не localhost) и перезапускаем, что бы cycle запустился корректно(в будущем не потребуется) cp -f ./app/config.php.sample ./app/config.php && nano ./app/config.php
Открываем 127.0.0.1 или localhost и наслаждаемся.


Установка под Windows ubuntu WSL + docker machine
todo: сделать скрипт. Всё делается через ubuntu app-store

Устанавливаем ubuntu из app-store и устанавливаем всё по ниже инструкции: https://nickjanetakis.com/blog/setting- ... flawlessly
Дальше! Важно расположить ваши файлы в каталоге на вашем диске. Например: /c/app/majardomo т.к. docker не видит каталоги которые находятся не на диске и не сможет прокинуть volume. Заменяем c, если планируете установить на другой диск. sudo mkdir /c sudo mount --bind /mnt/c /c cd /c/app/majardomo
По сути повторяем все шаги с Linux, кроме пару особенностей таких как: make init-db - не работает корректно. Что бы загрузить dump, требуется скопировать db_terminal.sql в каталог db-data и авторизоваться в контейнере: make exec-db и загрузить ваш дамп: mysql -p name_base < /var/lib/mysql/db_terminal.sql и ввести ваш mysql пароль root который задавали в config.env
В остальном должно всё работать.
Из этой инструкции не совсем понятно, с чего начать.

Re: Docker MajorDoMo

Добавлено: Ср май 22, 2019 12:59 pm
champloo
directman66 писал(а):
Ср май 22, 2019 12:38 pm
Очень полезная работа проведена. Спасибо.

Можно более подробно расписать, что нужно установить
СпойлерПоказать
Установка под Linux
todo сделать её внятней.

Склонировать данный репозиторий.
Скопировать config.env.dist в config.env и настраиваем под себя cp config.env.dist config.env
Подтянуть submodules git submodule update --init --recursive
Устанавливаем docker и docker-compose для себя. Как вариант(плохой) и перезапускаем сервер: sudo apt get update && sudo apt-get install docker docker-compose && sudo usermod -aG docker $USER && reboot
Запускаем сборку и подгружаем базу данных. У вас спросят удалять ли базу данных. Соглашаемся. make install && make init-db
Настраиваем в ./app config.php. Учтите, host теперь: mysql(а не localhost) и перезапускаем, что бы cycle запустился корректно(в будущем не потребуется) cp -f ./app/config.php.sample ./app/config.php && nano ./app/config.php
Открываем 127.0.0.1 или localhost и наслаждаемся.


Установка под Windows ubuntu WSL + docker machine
todo: сделать скрипт. Всё делается через ubuntu app-store

Устанавливаем ubuntu из app-store и устанавливаем всё по ниже инструкции: https://nickjanetakis.com/blog/setting- ... flawlessly
Дальше! Важно расположить ваши файлы в каталоге на вашем диске. Например: /c/app/majardomo т.к. docker не видит каталоги которые находятся не на диске и не сможет прокинуть volume. Заменяем c, если планируете установить на другой диск. sudo mkdir /c sudo mount --bind /mnt/c /c cd /c/app/majardomo
По сути повторяем все шаги с Linux, кроме пару особенностей таких как: make init-db - не работает корректно. Что бы загрузить dump, требуется скопировать db_terminal.sql в каталог db-data и авторизоваться в контейнере: make exec-db и загрузить ваш дамп: mysql -p name_base < /var/lib/mysql/db_terminal.sql и ввести ваш mysql пароль root который задавали в config.env
В остальном должно всё работать.
Из этой инструкции не совсем понятно, с чего начать.
Уточните под какую os и систему планируете установку.

Re: Docker MajorDoMo

Добавлено: Ср май 22, 2019 9:14 pm
directman66
Как и заявлено, нужно для ubuntu и windows.

Re: Docker MajorDoMo

Добавлено: Ср май 22, 2019 11:16 pm
champloo
directman66 писал(а):
Ср май 22, 2019 9:14 pm
Как и заявлено, нужно для ubuntu и windows.
Как я описал ранее. Это не стабильный релиз. Стабильные релизы если появятся будет доступная документация каждому. Предположительно завтра это решится.

Re: Docker MajorDoMo

Добавлено: Чт май 23, 2019 10:31 am
Дмитрий Иванов
Добрый день! Ставлю на голую debian9. На этапе make install && make init-db получил ошибку версии docker-compose:
СпойлерПоказать

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

root@MD-Dock:~/docker-majordomo# make install && make init-db
ERROR: Version in "././docker-compose.yml" is unsupported. 
You might be seeing this error because you're using the wrong Compose file version. 
Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
Makefile:24: ошибка выполнения рецепта для цели «build»
make: *** [build] Ошибка 1
Нужно обновить docker-compose? Подскажите как?
Сейчас у меня:

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

#docker-compose --version
docker-compose version 1.8.0, build unknown
#grep version docker-compose.yml
version: '3'
Спасибо!

Re: Docker MajorDoMo

Добавлено: Чт май 23, 2019 11:32 am
champloo
Дмитрий Иванов писал(а):
Чт май 23, 2019 10:31 am
Добрый день! Ставлю на голую debian9. На этапе make install && make init-db получил ошибку версии docker-compose:
СпойлерПоказать

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

root@MD-Dock:~/docker-majordomo# make install && make init-db
ERROR: Version in "././docker-compose.yml" is unsupported. 
You might be seeing this error because you're using the wrong Compose file version. 
Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
Makefile:24: ошибка выполнения рецепта для цели «build»
make: *** [build] Ошибка 1
Нужно обновить docker-compose? Подскажите как?
Сейчас у меня:

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

#docker-compose --version
docker-compose version 1.8.0, build unknown
#grep version docker-compose.yml
version: '3'
Спасибо!
Тут 2 решения.
1. Можно поменять version 2
Т.к. я не использовал ничего с version 3
2. Установка последнего композера:

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

sudo apt-get remove docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Re: Docker MajorDoMo

Добавлено: Чт май 23, 2019 11:46 am
champloo
Внимание!
Мною протестировано, что первый запуск происходит продолжительное время из за установки модулей cycle.php
Но так создаёте некоторые нюансы при первом запуске.
Инструкция как запустить эту шайтан машинку после всего, что вы сделали в readme:

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

make exec-app
ps -auxf # находим pid процесса. например 33
kill 33 
/usr/bin/php /var/www/html/cycle.php ## Ждём когда сгенерируется все templates
После генерации templates, сделаем всё заново:

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

exit
make init-db
make stop build up
Вуаля, всё завелось :)