Требования
Системные требования:
- Операционная система: Linux x86/x64, Windows x86/x64.
- База данных: PostgreSQL 9.0+, SQL Server 2008 R2+, Oracle 11g+.
- iOS SDK: iOS 8.0+.
- Android SDK: Android 4.4+.
- Панель управления (web single-page application): IE 11+, Edge, Chrome 49+, Firefox 47+, Safari z10+.
Требования к серверам (до 500 активных клиентов одновременно):
- Сервер приложения: процессор с 2-4 физическими ядрами, 4Гб RAM, место на жестком диске зависит от объема присылаемых фотографий/файлов.
- Сервер базы данных: процессор с 2-4 физическими ядрами, 8Гб RAM.
Обзор образа
IQChannels является серверным приложением, которое предоставляет публичный REST API для внешних клиентов (виджета на сайте и мобильных приложения), внутренний REST API для внутренних клиентов и веб-приложение панели управления и рабочего места оператора.
Образ для Докера:
- Использует 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
- LANG=en_US.UTF-8
Структура папки /iqchannels
:
bin
— скомпилированные бинарные файлы приложения, скрипты управления приложением.config
— конфигурационные файлы и тестовые данные.- migrations — файлы миграций для баз данных.
static
— статические файлы (JavaScript, CSS, картинки и т.д.)var/run
,var/log
,var/upload
— папки для логов, pid-файлов (в Unix) и загружаемого пользовательского контента.
Установка
1) Выберите требуемый образ со страницы Релизы.
docker.iqstore.ru/iqchannels:2017.2.0
2) Создайте папки для хранения внешних данных контейнера.
$ mkdir -p var/log var/run var/upload
3) Создайте файл конфигурации config.yaml
.
4) Укажите настройки базы данных в 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:
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.
Oracle:
# Use DNS to specify a connection string (user/password@host:port/sid). db: type: oracle connect: iqchannels/secret@localhost:1521/xe max_idle: 4 # Max idle connections in a connection pool. max_open: 12 # Max open connections in a connection pool.
5) Опционально, укажите другие настройки сервера в config.yaml
. Настройки по умолчанию со всеми комментариями доступны в файле 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
7) Запустите контейнер с приложением в фоновом режиме (-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
8) Готово, перейдите к Настройке приложения.
Комментарии:
При необходимости, замените --net=host
на сопоставление портов:
-p 3001:3001 -p 3002:3002