Документ описывает процесс установки Webitel на собственном сервере в on-site варианте развертывания.
Рекомендуем использовать Debian Jessie либо Ubuntu Server. Только 64bit! Ниже приведенная инструкция подходит, в первую очередь, этим двум дистрибутивам. |
Самый простой способ установки - это использование скрипта:
# 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 |
Поскольку 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 Вам необходимо скачать подготовленные для 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 адрес Вашего сервера.
В файле находятся общие переменные для контейнеров:
false
.root
. По умолчанию, используется слово ROOT_PASSWORD
.warn
.http
.В файле находятся переменные для контейнера сервера статистики и медиафайлов:
s3
либо file
. По умолчанию, file
.recordings
.0.0.0.0/0
.В файле находятся переменные для контейнера с FreeSWITCH:
Имея готовый файл с описанием контейнеров, мы можем скачать образы Docker на сервер и создать контейнеры.
Скачиваем нужные нам образы:
$ cd /opt/webitel $ sudo docker-compose pull |
Создаем контейнеры:
$ sudo docker-compose up -d |
Проверяем, что все запустилось и работает:
$ sudo docker-compose ps |
Наше приложение готово к работе.
Теперь можем переходить к разделу Первичная настройка системы.