Обновление на Linux

Предполагается, что текущая версия находится в папке /opt/iqchannels.

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

2) Переименуйте папку текущей версии, например, добавьте к ней текущую дату.

$ mv /opt/iqchannels /opt/iqchannels-`date "+%Y-%m-%d"`

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

$ unzip iqchannels-linux-2017.2.0.zip

4) Перенесите папку iqchannels-linux в /otp и переименуйте в iqchannels.

$ mv iqchannels-linux /otp/iqchannels

5) Замените файл конфигурации на файл прошлой версии.

$ rm /opt/iqchannels/config/config.yaml
$ cp /opt/iqchannels-2017-11-15/config/config.yaml /opt/iqchannels/config/config.yaml

6) Перенесите папку с загруженными файлами и логами из прошлой версии.

$ rm -r /opt/iqchannels/var
$ mv /opt/iqchannels-2017-11-15/var /opt/iqchannels

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

$ cd /opt/iqchannels
$ ./bin/iqchanneld migrate
2017/11/15 16:08:57 	WARN	migrations	Migrating...
2017/11/15 16:08:57 	WARN	migrations	Reading migrations from "migrations/postgres"
2017/11/15 16:08:57 	WARN	migrations	Applied 0 migration(s) in 202ms

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

$ ./bin/iqchanneld.sh start
iqchanneld started

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

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

10) Готово.

Обновление на Windows

Предполагается, что текущая версия находится в папке c:\iqchannels.

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

2) Переименуйте папку текущей версии, например, добавьте к ней текущую дату.

3) Распакуйте архив, переместите папку iqchannels-windows в корень c:\ и переименуйте в iqchannels.

5) Замените файл config/config.yaml на файл конфигурации прошлой версии.

6) Замените папку var на папку из прошлой версии.

7) Запустите консоль. Для этого в меню Пуск в поиске введите cmd.

8) В консоли перейдите в папку iqchannels.

cd c:\iqchannels

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

.\bin\iqchanneld.exe migrate
2017/11/15 15:46:45 	WARN	migrations	Migrating...
2017/11/15 15:46:45 	WARN	migrations	Reading migrations from "migrations/postgres"
2017/11/15 15:46:45 	WARN	migrations	Applied 0 migration(s) in 64ms

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

.\bin\iqchanneld.exe run
2017/11/15 15:48:13 	WARN	iqchannels	Starting...	{id=2c19c140-0664-4972-b614-343c763786d4}
2017/11/15 15:48:13 	INFO	sender	Started a vk sender	{id=4a394c01-d123-49b4-8c87-3858aad64ad7}
2017/11/15 15:48:13 	INFO	pusher	Started a pusher	{id=03473f54-b2a7-4554-8903-2bfd7a66ebc9}
2017/11/15 15:48:13 	INFO	sender	Started a telegram sender	{id=f447540e-5071-4629-91e7-8bb58012e844}
2017/11/15 15:48:13 	INFO	offliner	Started a client offliner	{id=68b02811-1ccb-419a-8495-222dfd95bd85}
2017/11/15 15:48:13 	INFO	autoreplier	Started an autoreplier	{id=7565d502-ff40-4b4f-a5d2-97a2e97d5ea4}
2017/11/15 15:48:13 	INFO	offliner	Started a user offliner	{id=528242e1-d911-4374-8a82-2c637896ebb1}
2017/11/15 15:48:13 	INFO	sender	Started a facebook sender	{id=5d89fb1b-fead-412d-9823-ee08568b89a5}
2017/11/15 15:48:13 	INFO	router	Started a router	{id=a42db3cb-79d7-4f4b-8954-ebff0088bb83, actor=system}
2017/11/15 15:48:13 	INFO	sender	Started a telegram initializer	{id=2078a1d1-9b5c-4b28-a89a-97e5eb2cfd5b, actor=system}
2017/11/15 15:48:13 	INFO	httpd2	Listening to :3002	{id=5693a1f7-b36d-4f8d-a33e-147a1d09d408}
2017/11/15 15:48:13 	INFO	httpd1	Listening to :3001	{id=20b2d47e-0e75-4bab-b9d3-08b9910652c7}
2017/11/15 15:48:13 	WARN	iqchannels	Started	{id=2c19c140-0664-4972-b614-343c763786d4}

11) Для остановки нажмите CTRL-C:

2017/11/15 15:49:36 	WARN	iqchannels	Stopping...	{id=1220c686-9a10-4a78-9b92-28d4b0627d1a}
2017/11/15 15:49:36 	INFO	sender	Stopped a vk sender	{id=d1da1ff1-beed-412f-9efb-f2071c955ea2}
2017/11/15 15:49:36 	INFO	httpd2	Stopping...	{id=64f06a00-0a3d-4443-b78f-6499b881313e}
2017/11/15 15:49:36 	INFO	httpd1	Stopping...	{id=651db3ad-7d51-4b2e-8de7-8b9111fa93ab}
2017/11/15 15:49:36 	INFO	router	Stopped a router	{id=515edada-36ee-4b51-b4f7-72befc27aefc, actor=system}
2017/11/15 15:49:36 	INFO	pusher	Stopped a pusher	{id=6d298388-c87a-4bf9-88c4-90f79444c4d5}
2017/11/15 15:49:36 	INFO	sender	Stopped a telegram sender	{id=ec8b6453-658e-4c29-b76f-b23bd9420d73}
2017/11/15 15:49:36 	INFO	sender	Stopped a telegram initializer	{id=d88a98b0-d7b4-4405-97d9-5fda15f139d9, actor=system}
2017/11/15 15:49:36 	INFO	autoreplier	Stopped an autoreplier	{id=062b5927-753a-42a5-bb8d-c4af8707c7a5}
2017/11/15 15:49:36 	INFO	sender	Stopped a facebook sender	{id=6cef5418-11a0-43c2-9ee8-d6f03f594a8c}
2017/11/15 15:49:36 	INFO	offliner	Stopped a client offliner	{id=2e9dc646-76b1-4f97-9aeb-bbe9f5387665}
2017/11/15 15:49:36 	INFO	httpd1	Stopped	{id=651db3ad-7d51-4b2e-8de7-8b9111fa93ab}
2017/11/15 15:49:36 	INFO	offliner	Stopped a user offliner	{id=a32dfd3b-bbfc-4897-9caa-7327a9a5840e}
2017/11/15 15:49:36 	INFO	httpd2	Stopped	{id=64f06a00-0a3d-4443-b78f-6499b881313e}
2017/11/15 15:49:36 	WARN	iqchannels	Stopped	{id=1220c686-9a10-4a78-9b92-28d4b0627d1a}

12) Готово.

Обновление на Docker

Предполагается, что в текущей папке находятся файл config.yaml и var для хранения внешних файлов контейнера. Эти файлы были созданы в процессе установки прошлой версии.

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

docker.iqstore.ru/iqchannels:2017.2.1

2) Найдите текущий контейнер с iqchannels.

$ docker ps
8c709f58efce        docker.iqstore.ru/iqchannels:2017.2.0           "/iqchannels/bin/iqch"   7 days ago          Up 7 days                                                                     iqchannels

3) Остановите и удалите текущий контейнер. ВНИМАНИЕ! Папка /iqchannels/var внутри контейнера обязательно должна быть примонтирована как внешняя, иначе при удалении контейнера удалятся все загруженные пользователями файлы.

$ docker stop iqchannels
$ docker rm iqchannels

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

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.1 \
	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.1 \
	run

8) Готово. Проверьте, что сервер запущен: 

http://localhost:3002/