Руководство по установке системы

Общие сведения об используемых технологиях

ORBISMap построен на основе Docker-контейнеров, управляемых с помощью Docker Compose. Также в ОС устанавливается сервис системы автоматического обновления. Данный подход снижает требования к системе и упрощает установку и поддержку.

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

Система автоматического обновления также требует наличие интернет-соединения и в данной версии не может быть запущена в автономном режиме.

Допустима установка нескольких экземпляров приложения на одной машине.

Управление комплексом может осуществляться как через управляющий скрипт, который подготовит программа установки, так и напрямую с помощью команды docker-compose.

Управляющий скрипт также предоставляет возможность частичного или полного удаления компонентов системы.

Состав дистрибутива

Возможно два варианта поставки системы. Минимальный - для установки при наличии интернет-соединения. Максимальный - для offline-установки.

Минимальный дистрибутив системы состоит из 2х файлов (суммарный размер менее 1 Мб):

Максимальный вариант содержит также другие вспомогательные файлы и архивы образов Docker. Суммарный размер не превышает 4 Гб (возможна запись на 1 DVD диск).

Подготовка операционной системы к установке

Программа установки имеет ряд требований к ОС, которые нужно удовлетворить до начала установки.

Для того, чтобы убедиться, что система готова к использованию, можно запустить специальную команду проверки:

$> ./orbismap check_system
Примечание: Для того, чтобы скопировать команды, используйте `[Ctrl+C]`, для вставки в терминал `[Ctrl+Shift+V]`
Примечание: Здесь и далее считается, что символы `$>` в начале строки примера означает выполнение команды от обычного пользователя системы, а символы `#>` - от привилегированного (root).

В случае несоответствия системы требованиям, программа выведет на экран данные об ошибке.

Для установки Docker и Docker Compose следуйте инструкциям в официальной документации.

Для некоторых систем (таких как Ubuntu) возможна автоматическая установка. В этом случае программа установки спросит о согласии. Вы также можете установить ПО с помощью приведенных ниже примеров. Помните, что с течением времени инструкции в примерах могут устаревать, поэтому при установке рекомендуется пользоваться последними данными с сайта.

Пример для Ubuntu 14.04/16.04

В данном примере устанавливаются пакеты linux-image-extra-*, которые содержат особые драйвера ядра для лучшей работы Docker. Если есть веские причины отказаться от их установки - не забудьте проигнорировать соответствующие строки из примера. Также устанавливается Docker Compose версии 1.13.0. Не забудьте изменить эту цифру в команде, если появится более свежая.

$> sudo apt-get update
$> sudo apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
$> sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
$> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$> sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$> sudo apt-get update
$> sudo apt-get install -y docker-ce
$> sudo usermod -a -G docker $(whoami)
$> curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /tmp/docker-compose
$> chmod +x /tmp/docker-compose
$> sudo mv /tmp/docker-compose /usr/local/bin/docker-compose
$> sudo reboot

Пример для Linux Mint 18.x

В данном примере устанавливаются пакеты linux-image-extra-*, которые содержат особые драйвера ядра для лучшей работы Docker. Если есть веские причины отказаться от их установки - не забудьте проигнорировать соответствующие строки из примера. Также устанавливается Docker Compose версии 1.13.0. Не забудьте изменить эту цифру в команде, если появится более свежая.

$> sudo apt-get update
$> sudo apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
$> sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
$> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$> sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
$> sudo apt-get update
$> sudo apt-get install -y docker-ce
$> sudo usermod -a -G docker $(whoami)
$> curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /tmp/docker-compose
$> chmod +x /tmp/docker-compose
$> sudo mv /tmp/docker-compose /usr/local/bin/docker-compose
$> sudo reboot

Пример для Debian 8

$> sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
$> curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$> sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
$> sudo apt-get update
$> sudo apt-get install -y docker-ce
$> sudo usermod -a -G docker $(whoami)
$> curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /tmp/docker-compose
$> chmod +x /tmp/docker-compose
$> sudo mv /tmp/docker-compose /usr/local/bin/docker-compose
$> sudo reboot

Пример для CentOS 7

$> sudo yum install -y yum-utils device-mapper-persistent-data lvm2
$> sudo yum-config-manager --add-repo "https://download.docker.com/linux/centos/docker-ce.repo"
$> sudo yum install -y docker-ce
$> sudo usermod -a -G docker $(whoami)
$> echo '{"storage-driver": "devicemapper"}' > /tmp/daemon.json
$> sudo mkdir -p /etc/docker
$> sudo mv -f /tmp/daemon.json /etc/docker/daemon.json
$> sudo systemctl enable docker
$> sudo systemctl start docker
$> curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /tmp/docker-compose
$> chmod +x /tmp/docker-compose
$> sudo mv /tmp/docker-compose /usr/local/bin/docker-compose
$> sudo reboot

Проверка работоспособности

Если все прошло хорошо, то после перезагрузки системы следующие команды должны отработать без ошибок и показать сообщение о том, что все работает исправно (требует подключение к интернету):

$> docker run --rm hello-world
$> docker-compose --version

Установка ORBISMap

Для начала установки необходимо запустить файл orbismap. Для этого нужны права на исполнение. Вызов с параметром help показывает краткую справку.

$> clear && chmod +x ./orbismap && ./orbismap help

Для запуска приложения можно достаточно вызвать его без параметров:

$> ./orbismap

При этом, если система еще не была установлена - запустится программа установки. Ее также можно запустить отдельно:

$> ./orbismap install

Эта команда установит систему и запустит ее с параметрами по-умолчанию. Если перед первым запуском требуются особые настройки, то можно запустить установку без запуска:

$> ./orbismap setup

При выполнении необходимо указать минимальную информацию о системе. Для дальнейших обновлений она будет сохранена в файл ./distrib/setup.cfg

Если возникли трудности с системными требованиями, следующая команда позволяет проверить их:

$> ./orbismap check_system

Управление ORBISMap

Чтобы запустить или остановить систему, нужно вызвать соответствующую команду:

$> ./orbismap start
$> ./orbismap stop

Можно перезапускать отдельные сервисы системы, например так:

$> ./orbismap restart nginx

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

$> ./orbismap reload nginx

Специальная команда позволяет посмотреть логи одного или нескольких сервисов:

$> ./orbismap logs nginx,postgres

Допустимо использовать особые названия для просмотра логов внутренних сервисов (эта возможность будет удалена в будущем):

$> ./orbismap logs cache
$> ./orbismap logs render