Требования

  • Операционная система: Linux x64.
  • Установленный ImageMagick для ресайза картинок.

Обзор поставки

IQChannels является серверным приложением, которое предоставляет публичный REST API для внешних клиентов (виджета на сайте и мобильных приложения), внутренний REST API для внутренних клиентов и веб-приложение панели управления и рабочего места оператора.

Архив поставки:

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

Установка приложения

1) Скачайте требуемый релиз со страницы Релизы.

2) Распакуйте архив.

$ unzip iqchannels-linux-2017.2.0.zip

3) Перенесите папку iqchannels-linux в требуемое место, рекомендуемое /opt/iqchannels или /srv/iqchannels.

$ mv iqchannels-linux /srv/iqchannels

4) Укажите настройки для базы данных в файле config/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.


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

6) Запустите скрипты миграции базы данных:

$ ./bin/iqchanneld migrate
Если в процессе миграции вы видите ошибки, в тексте который встречается "..exists...",
...
2025/05/15 22:00:07     ERROR   migrations      Failed to execute Failed to execute 2024.10.16-12.00-alter-iqchat-widget-add-personal-data-form.sql: pq: column "personal_data_request_type" of relation "iqchat_widgets" already exists
 --- alter-iqchat-widget-add-personal-data-form
alter table iqchat_widgets add personal_data_request_type varchar(15) default 'default'
goroutine 1 [running]:
runtime/debug.Stack()
        /usr/local/go/src/runtime/debug/stack.go:24 +0x5e
github.com/iqstore/iqchannels/server/library/logs.(*logImpl).Stackf(0xc0000b86c0?, {0x1fb0ef0, 0xc00058b580}, {0x1c8ad74, 0x1c}, {0xc0006015c0?, 0x7f2ea4a32f18?, 0x60?})
        /builds/iqstore/iqchannels/server/library/logs/logs.go:196 +0x7b
github.com/iqstore/iqchannels/server/migrations.(*migrations).executeStmt.func1()...



но при этом далее имеются записи, что "migrations Applied..."
2025/05/15 22:00:07     WARN    migrations      Applied 0 migration(s) in 667ms


и далее успешно проходят миграции "...migrations services...":
2025/05/15 22:10:08     WARN    service migrations      Migrating services...   {id=1fcf206a-6421-41f7-b3e4-b193016bbb3a}
2025/05/15 22:10:08     WARN    service migrations      Applied service migration "FillNotificationInboxes"     {id=1fcf206a-6421-41f7-b3e4-b193016bbb3a}
2025/05/15 22:10:08     WARN    service migrations      Applied service migration "FillProjectCountersTx"       {id=1fcf206a-6421-41f7-b3e4-b193016bbb3a}



в таком случае ошибка не критичная, т.к. это уведомление о том, что скрипт создания колонок пытался создать новую, но она уже существует. В будущих релизах данные скрипты будут исправлены, а пока можно ошибку игнорировать, согласно описанию выше.


7) Запустите демон приложения:

$ ./bin/iqchanneld.sh start

8) Для остановки, статуса, перезапуска демона используйте:

$ ./bin/iqchanneld.sh start|stop|status

9) Для просмотра логов приложения:

$ tail -f ./var/log/iqchanneld.log

10) Готово, перейдите к Настройке приложения.

  • No labels