Документ описывает процесс установки Webitel на собственном сервере в on-site варианте развертывания.

Рекомендуем использовать Debian Jessie либо Ubuntu Server. Только 64bit! Ниже приведенная инструкция подходит, в первую очередь, этим двум дистрибутивам.

Установка docker

Самый простой способ установки - это использование скрипта:

# apt-get install curl
# curl -sSL https://get.docker.com/ | sh
# docker --version
Docker version 1.10.2, build c3959b1

Варианты установки на других дистрибутивах: https://docs.docker.com/engine/installation/

На Ubuntu Вы можете получить сообщение:

WARNING: Your kernel does not support cgroup swap limit. WARNING: Your
kernel does not support swap limit capabilities. Limitation discarded.

Что бы это исправить, откройте файл /etc/default/grub и присвойте значение переменной GRUB_CMDLINE_LINUX:

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

Теперь Вы можете сохранить файл и обновить загрущик с помощью команды:

$ sudo update-grub

Установка docker-compose

Поскольку Webitel это комплекс из нескольких приложений, рекомендуем использовать docker-compose. Установка:

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-pip
$ sudo pip install -U docker-compose
$ docker-compose --version
docker-compose version: 1.6.2, build 4d72027

Варианты установки на других дистрибутивах: https://docs.docker.com/compose/install/

Подготовка к запуску webitel

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

Текущая стабильная версия Webitel 3.2.0

Получение файлов:

sudo gpasswd -a ${USER} docker
cd /opt
sudo mkdir /opt/webitel
curl -L https://github.com/webitel/orchestration/archive/v3.2.0.tar.gz | sudo tar xz
mv orchestration-3.2.0 orchestration
sudo chown -R ${USER}:docker /opt/webitel /opt/orchestration
cd /opt/orchestration

В результате, мы получили копию подготовленных скриптов для запуска и управления контейнерами Webitel. 

Конфигурационные файлы

Прежде, чем приступить к запуску, нам нужно изменить 2 значения в файле bin/setenv.sh:


Бесплатный StartSSL сертификат для wss

Запуск Webitel

Имея готовый файл с описанием контейнеров, мы можем скачать образы c Docker Hub на сервер и создать контейнеры.

Сервер сбора логов

Начиная с версии 3.2.0, все логи контейнеров webitel (как и ключевые поля статистики для Аналитика и отчетность) сохраняются в базе elasticsearch. Прежде чем стартовать webitel, мы запускаем elasticsearch и fluentd.

./bin/bootstrap.sh elf up -d

Скрипт bin/bootstrap.sh разработан, что бы упростить работу с контейнерами.

Основные команды:

Команда

Описание

elf

Управление elasticsearch и fluentd.

dev

Запуск в режиме разработчика, когда открыты все порты всех контейнеров.

fs

Запустить fs_cli для подключения к консоли FreeSWITCH

-

не указывая ничего, запускаем webitel

Аргументы:

Аргумент

Описание

up

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

stop

Остановить контейнеры

start

Запустить созданные раньше контейнеры

rm

Удалить контейнеры

pull

Скачать последнюю версию образов

ps

Вывести список контейнеров и их состояние

Запускаем webitel:

./bin/bootstrap.sh pull
./bin/bootstrap.sh up -d

Проверяем, что все запустилось и работает:

./bin/bootstrap.sh ps

Наше приложение готово к работе.

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

Как обновить Webitel on-site?