Перейти к основному содержимому
Версия: 4.8

Установка на Docker

Обзор образа

Образ для Докера:

  • Использует Ubuntu 16.04 в качестве базового образа.
  • Внутри образа приложение находится в папке /iqchannels.
  • Содержит дополнительные пакеты:
    • libaio1
    • ca-certificates
    • webp
    • imagemagick
  • Идет с установленным и настроенным клиентом для Oracle instantclient_12_1.
  • Заданы /etc/default/locale:
    • LANG=en_US.UTF-8
      LC_ALL=en_US.UTF-8
      LANGUAGE=en_US:en

Структура папки /iqchannels:

  • bin — скомпилированные бинарные файлы приложения, скрипты управления приложением.
  • config — конфигурационные файлы и тестовые данные.
  • migrations — файлы миграций для баз данных.
  • static — статические файлы (JavaScript, CSS, картинки и т.д.)
  • var/runvar/logvar/upload — папки для логов, pid-файлов (в Unix) и загружаемого пользовательского контента.

Установка

  1. Выберите требуемый образ.
docker.iqstore.ru/iqchannels:2017.2.0
  1. Создайте папки для хранения внешних данных контейнера.
$ mkdir -p var/log var/run var/upload
  1. Создайте файл конфигурации config.yaml.

  2. Укажите настройки базы данных в config.yaml.

PostgreSQL:

db:
type: postgres
connect: port=5432 dbname=iqchannels user=iqchannels password=secret sslmode=disable
max_idle: 4 # Max idle connections in a connection pool.
max_open: 12 # Max open connections in a connection pool.

SQL Server:

#Пример для localhost:
db:
type: mssql
connect: port=1433;database=iqchannels;user id=sa;password=Secret22;encrypt=disable
max_idle: 4 # Max idle connections in a connection pool.
max_open: 12 # Max open connections in a connection pool.

#Пример с подключением к серверу MSSQL на другом сервере (не в localhost):
db:
type: mssql
connect: sqlserver://sa:password@192.168.1.150:1433?database=iqchannels
max_idle: 4 # Max idle connections in a connection pool.
max_open: 12 # Max open connections in a connection pool.
  1. По умолчанию в системе для хранения вложенных в чат файлов используется каталог /iqchannels/var. При обновлении системы необходимо копировать этот каталог и подставлять его в каталог новой версии чат-платформы, иначе файлы будут недоступны для просмотра в истории сообщений. Чтобы избежать этого, рекомендуется настроить сохранение вложений в отдельный каталог, подключённый как сетевой диск. Для этого создайте сетевую папку, подключите её на сервере как сетевой диск и добавьте/измените параметр в конфигурационном файле config/config.yaml:
files:
upload_path: "/mnt/iqchannels-var/upload" # Путь к каталогу для хранения загружаемых файлов

При необходимости, измените другие настройки сервера в файле config/config.yaml. Там есть настройки по умолчанию с комментариями. 6. Запустите скрипты миграции базы данных:

docker run -it --rm \
--net=host \
-v /absolute-path-to/config.yaml:/iqchannels/config/config.yaml \
-v /absolute-path-to/var:/iqchannels/var \
docker.iqstore.ru/iqchannels:2017.2.0 \
migrate
  1. Запустите контейнер с приложением в фоновом режиме (-d):
docker run -it -d \
--name=iqchannels \
--net=host \
-v /absolute-path-to/config.yaml:/iqchannels/config/config.yaml \
-v /absolute-path-to/var:/iqchannels/var \
docker.iqstore.ru/iqchannels:2017.2.0 \
run
  1. Готово. Проверьте, что сервер запущен:

http://localhost:3002/

  1. Перейдите к Настройке приложения.

Комментарии:

При необходимости, замените --net=host на сопоставление портов:

-p 3001:3001 -p 3002:3002