Установка MCL и Buddy при сборке Docker-образа

Добрый день!

Использую Docker-контейнер Manticore Search без монтирования каких-либо внешних томов, так как размер БД относительно невелик. Таблицы типа plain создаются при старте контейнера и периодически обновляются по заданию cron.

В вашей текущей реализации, при установленной переменной окружения EXТRA=1, обе важные дополнительные библиотеки MCL и Buddy загружаются по сети скриптом docker-entrypoint.sh посредством wget каждый раз при старте контейнера. Для работы в production это оказывается делом чрезвычайно рискованным, так как, во-первых, создается зависимость запуска контейнера от доступности ваших библиотек, и, во-вторых, возникает неконтролируемая задержка на загрузку и установку этих библиотек.

Поэтому я вынужден был перенести установку дополнительных библиотек MCL и Buddy на этап сборки своего Docker-образа Manticore Search и заменить ваш docker-entrypoint.sh своим скриптом.

Предлагагаю продумать возможность:

  • переноса установки дополнительных библиотек MCL и Buddy на этап сборки Docker-образа Manticore Search;
  • изменения логики работы скрипта docker-entrypoint.sh: чтобы при установленных переменных окружения EXТRA=1 или MCL=1 необходимые пользователю библиотеки только включались, но не загружались или обновлялись по сети.
  • переноса установки дополнительных библиотек MCL и Buddy на этап сборки Docker-образа Manticore Search;

Пока что не можем этого сделать из-за того, что MCL имеет лицензию несовместимую с лицензией Manticore Search. Но мы работаем над решением этой проблемы.

1 Like

@Sergey Добрый день, Сергей!

По прошествии без малого 10 месяцев есть ли какие-то подвижки по данному вопросу?

Вспомнил об этом, поскольку с релизом 6.3.0 мне снова пришлось обновлять свой скрипт для сборки Docker-образа со всеми установленными дополнительными библиотеками.

Здравствуйте. Теперь лицензия MCL (Apache 2) совместима с лицензией Manticore Search (GPLv3), но другие компоненты, устанавливаемые с помощью EXTRA=1 всё ещё несовместимы. Например, manticore-executor, который представляет собой кастомную сборку PHP под лицензией PHP 3.01, которая несовместима с GPLv3 - Various Licenses and Comments about Them - GNU Project - Free Software Foundation

Так что для себя вы можете собирать докер образ как хотите, но можно ли распространять такой образ с компонентами под конфликтующими лицензиями, не нарушив никакую лицензию - вопрос открытый.