Шпаргалка установки сервера взаимодействия без MSI(9.0.33) использованием Postgresql в docker-compose

Публикация № 1417992 07.04.21

Приемы и методы разработки - DevOps и автоматизация разработки

сервер взаимодействия docker-compose postgresql

Какой бы не был бизнес - он нуждается в коммуникации. У кого-то Telegram, у других - Whatsapp, у кого то - электронные письма. Возникла задача наладить общение между пользователями базы 1С без мессенджеров. Скачав самую свежую версию на момент написания статьи 9.0.33, обнаружились некоторые подводные камни при установке.

Во первых: установщика MSI там нет, только такой список файлов:

 

 

Во вторых: для работы необходима Java 11 (на установленной версии 8 работать отказался)

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

 

Как устанавливать Java - писать не буду, вендор рекомендует пакет Liberica OpenJDK.

Идем сюда: BellSoft и качаем версию 11(!) и полный пакет JDK(только полный).

 

Под правами администратора запускаем файл 1ce-installer.cmd и выполняем установку(полную).

Казалось бы - бери и пользуйся, но нет. Никаких ярлыков нет. И новый служб тоже.

 

Запускаем командную строку под правами админа и проверяем:

ring -version

Если версия показалась можно идти дальше, иначе что-то установкой.

Создаем папку C:\1ce(можно в другом месте)

Дальше выполняем по инструкции:

1. Создание инстансов:

ring hazelcast instance create --dir C:\1ce\hazelcast
ring elasticsearch instance create --dir C:\1ce\elasticsearch
ring cs instance create --dir C:\1ce\cs

2. Настройка websocket:

Порт может быть любым свободным в системе.

ring cs --instance cs websocket set-params --hostname localhost
ring cs --instance cs websocket set-params --port 9191

3.1 Настройка Postgresql на убунте.

Подключаемся по ssh, создаем папку 1c_pg и в ней создаем папку data и файл docker-compose.yml со следующим содержанием:

version: "3"
   
services:
  db:
    image: postgres
    volumes:
      - ./data/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    restart: always

сохраняем и запускаем:

docker-compose up -d

3.2 Файла с настройками где можна прописать пока не существует - продолжаем в cmd:

ring cs --instance cs jdbc pools --name common set-params --url jdbc:postgresql://192.168.1.41:5432/postgres?currentSchema=public
ring cs --instance cs jdbc pools --name common set-params --username postgres
ring cs --instance cs jdbc pools --name common set-params --password postgres
ring cs --instance cs jdbc pools --name privileged set-params --url jdbc:postgresql://192.168.1.41:5432/postgres?currentSchema=public
ring cs --instance cs jdbc pools --name privileged set-params --username postgres
ring cs --instance cs jdbc pools --name privileged set-params --password postgres

192.168.1.41 - адрес Ubuntu с Docker-compose

4. Создание служб:

ring hazelcast --instance hazelcast service create
ring elasticsearch --instance elasticsearch service create
ring cs --instance cs service create

Проверяем работоспособность служб. Если служба cs останавливается с ошибкой(через 10-20 сек. после старта):

[42883] ERROR: function uuid_generate_v4() does not exist
[2021-04-05 00:10:23] Подсказка: No function matches the given name and argument types. You might need to add explicit type casts.
[2021-04-05 00:10:23] Позиция: 49

подключаемся к контенеру с БД(созданным в п. 3.1) и выполняем коменду SQL:

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

5. Завершение настройки(взято с ИТС, без этого пункта база не подключается к серверу взаимодействия):

curl -Sf -X POST -H "Content-Type: application/json" -d "{ \"url\" : \"jdbc:postgresql://192.168.1.41:5432/postgres\", \"username\" : \"postgres\", \"password\" : \"postgres\", \"enabled\" : true }" -u admin:admin http://localhost:8087/admin/bucket_server

6. Проверка состояния:

http://localhost:8087/rs/health

7. Если все хорошо - осталось подключить базу к серверу взаимодействия.

Скриншот(не сохранился, взят из интернета):

Порт - тот который указывали при начале: 9191

 

Совместное использование 1С:Сервер взаимодействия и Документооборот 8 КОРП, редакция 2.1.13 - Уведомления для рабочего стола

 

Если вы получаете ошибку:

"Ошибка при регистрации. Ошибка протокола системы взаимодействия."  - попробуйте перезагрузить службу сервера взаимодействия.

 

Статья является шпаргалкой для тех кто пробует совместить сервер взаимодействия и Postgresql в docker-compose.

Приветствуются комментарии и дополнения. А также указанные неточности или допущенные ошибки.

Специальные предложения

Оставьте свое сообщение

См. также

Окей, Google

Интеграция с сервисами Идеи и тренды в разработке DevOps и автоматизация разработки v8 Россия Бесплатно (free)

Пример интеграции Google Ассистента с 1С. В основе которого лежит платформа Dialogflow CX для понимания естественного языка.

28.10.2021    1319    Soloist    6    

Как начать разработку проекта 1С, чтобы легко перейти к DevOps-практикам

DevOps и автоматизация разработки v8 1cv8.cf Бесплатно (free)

Многие рутинные операции при работе над проектом 1С можно автоматизировать – довериться готовым инструментам и уменьшить количество нажимаемых кнопок. О том, как с помощью готового шаблона проекта настроить окружение для разработки на митапе «DevOps в 1С» рассказал технический директор Инфостарта Артур Аюханов.

22.06.2021    5525    artbear    2    

Docker для 1Сника

DevOps и автоматизация разработки v8 Бесплатно (free)

На онлайн митапе «DevOps в 1С» Руслан Жданов рассказал, для чего 1С-нику нужен Docker, как его применять, какие сервисы можно вынести в контейнеры и как организовать взаимодействие контейнеров друг с другом.

07.06.2021    5714    ZhdanovR    32    

Осторожный DevOps

DevOps и автоматизация разработки v8 Бесплатно (free)

Начальник отдела разработки в компании «Билайн» Игорь Сухоруков на Meetup Infostart DevOps поделился особенностями работы своего ИТ-подразделения и рассказал о том, как устроено производство и внедрение ПО в режиме нон-стоп в компании, подразделения которой работают по всей России: от Москвы до Владивостока.

24.05.2021    2611    ig1082    3    

Управление конфигуратором в режиме агента с помощью python

Инструменты администратора БД Архивирование (backup) DevOps и автоматизация разработки v8 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Управление конфигуратором 1С:Предприятие в режиме агента. Опыт применения с реализацией на языке python. Результат получен с использованием интерактивной сессии оболочки через invoke_shell().

06.08.2020    2147    Alex10166    2    

Jenkins: конфигурируем сервер и подключаем к нему виртуальные машины. Цикл "Многопоточный CI для 1С c Packer, Vagrant и Jenkins", часть 4

DevOps и автоматизация разработки v8 Бесплатно (free)

Выполним основные настройки Jenkins как CI-сервера. Подключим к нему развёрнутые через Vagrant виртуальные машины в качестве сборочных узлов.

13.03.2020    18557    Vladimir Litvinenko    8    

DevOps. Как это выглядит у нас

DevOps и автоматизация разработки v8 1cv8.cf Россия Бесплатно (free)

DevOps в департаменте разработки 1С в крупной компании.

01.10.2019    12420    Repich    19    

Сказ про то, как я DevOps-ом занимался (OneScript, Deployka, Jenkins)

OneScript DevOps и автоматизация разработки v8 1cv8.cf ИТ-компания Бесплатно (free)

Решаем задачу: автоматизировать обновление тестовых баз 1С из хранилища конфигурации при появлении в нём новых изменений. Данная статья родилась в муках хождения по граблям и поиска безопасного форватора среди подводных камней. Изложение постарался представить в виде инструкции для новичка, в которой собрал всё, с чем пришлось столкнуться. Сам я не DevOps-ер, ни на что не претендую, просто делюсь опытом :)

17.06.2018    25851    stas_ganiev    37    

Автоматическая интеграция внешних обработок в конфигурацию 1C

Практика программирования DevOps и автоматизация разработки v8 1cv8.cf Бесплатно (free)

Вот уже некоторое время мы ведем разработку через git-flow. Все очень нравится. Но есть один момент - когда выходит релиз и ветка develop мигрирует в ветку master, очень лень подключать новые внешние обработки к базе вручную. Вот поэтому я решил немного подковырять Jenkins для небольшой автоматизации процесса.

06.11.2014    12714    akomar    1