Шпаргалка установки сервера взаимодействия без MSI(9.0.33) использованием Postgresql в docker-compose
Какой бы не был бизнес — он нуждается в коммуникации. У кого-то 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\cs2. Настройка websocket:
Порт может быть любым свободным в системе.
ring cs --instance cs websocket set-params --hostname localhost
ring cs --instance cs websocket set-params --port 91913.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 -d3.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 postgres192.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_server6. Проверка состояния:
http://localhost:8087/rs/health7. Если все хорошо — осталось подключить базу к серверу взаимодействия.
Скриншот(не сохранился, взят из интернета):
Порт — тот который указывали при начале: 9191

Если вы получаете ошибку:
"Ошибка при регистрации. Ошибка протокола системы взаимодействия." — попробуйте перезагрузить службу сервера взаимодействия.
Статья является шпаргалкой для тех кто пробует совместить сервер взаимодействия и Postgresql в docker-compose.
Приветствуются комментарии и дополнения. А также указанные неточности или допущенные ошибки.

