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

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

Установка docker

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

# curl -sSL https://get.docker.com/ | sh
# docker --version
Docker version 1.6.2, build 7c8fca2

На 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 1.2.0

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

Команда

Описание

up

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

stop

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

start

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

rm

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

pull

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

ps

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

logs

Отобразить вывод логов из контейнеров

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

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

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

$ sudo apt-get install git
$ cd /opt
$ git clone http://stash.webitel.com/scm/wp/compose.git webitel

В склонированном репозитории находится файл docker-compose.yml, который описывает параметры для создания контейнеров, а так же три *.env файла с переменными для контейнеров.

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

Поскольку установка производиться на одном сервере, во всех переменных с IP адресами, необходимо указывать IPv4 адрес Вашего сервера.

common.env

В файле находятся общие переменные для контейнеров:

cdr.env

В файле находятся переменные для контейнера сервера статистики и медиафайлов:

freeswitch.env

В файле находятся переменные для контейнера с FreeSWITCH:

Запуск Webitel

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

Скачиваем нужные нам образы:

$ cd /opt/webitel
$ sudo docker-compose pull

Создаем контейнеры:

$ sudo docker-compose up -d

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

$ sudo docker-compose ps

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

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