Chat Server поддерживает режим работы с использованием нескольких экземпляров (инстансов) сервера. Для поднятия экземпляра сервера нужно:

1. Настроить docker-compose.yml:

В секции services вашего docker-compose.yml, добавьте анкор для сервиса server. Это позволит вам переиспользовать конфигурацию для второго экземпляра.

services:
...
      server: &server_defaults	

2. Создать новый сервис для второго экземпляра:

Добавьте новый сервис server2, который будет ссылаться на анкор server_defaults. Измените порт для второго экземпляра.

  server2:
    <<: *server_defaults  # Ссылка на анкор
    ports:
      - 3012:3000  # Изменение порта для server2

3. Настроить nginx:

Зайдите в контейнер nginx:

 docker exec -it elph-chat-server-unstable-nginx-1 bash

Обновите список пакетов и установите текстовый редактор:

apt update && apt install nano -y

или

apt update && apt install vim -y

или

apt update && apt install mcedit -y

Откройте конфигурационный файл nginx:

<nano/vim/mcedit> /etc/nginx/conf.d/ecss-chat-server-nginx.conf

Измените секцию upstream. Добавьте серверы и балансировщик по токену:

upstream backend {
    hash $cookie_rc_token consistent;
    server server:3000;
    server server2:3000;
}

4. Перезапустить чат сервер без удаления контейнеров.

./ecss-elph-chat-server.sh stop && ./ecss-elph-chat-server.sh up