✉️Установка корпоративного мессенджера Сonduwuit
Сonduwuit - это хорошо поддерживаемый хард-форк Conduit с множеством новых функций, множеством исправлений ошибок, и улучшением производительности.
Для развертывания собственного сервера Сonduwuit обязательно наличие собственного доменного имени.
1. Создание сервера для Сonduwuit
Для начала создадим сервер на OS Ubuntu 22.04 для развертывания на нем Сonduwuit. В нашем случае используется сервер тарифа VIEs-1 в Вене.


2. Подготовка сервера к установке Сonduwuit
2.1. После активации вашего сервера подключаемся к нему по SSH для установки Сonduwuit. Подробнее как подключиться к серверу по SSH рассказано в этой статье.
2.2. После подключения по SSH выполним обновление пакетов и установку curl , а также установим Docker:
apt-get update && apt-get install curl sudo
curl -fsSL https://get.docker.com | sudo bash
2.3. После этого в удобной для вас директории сервера создаем директорию conduwuit
и переходим в нее:
mkdir /conduwuit
cd /conduwuit
В данной директории нам необходимо создать два файла docker-compose.yml
и .env
Для начала создадим файл docker-compose.yml
:
nano docker-compose.yml
В файл необходимо скопировать следующее содержимое:
---
version: '3.8'
services:
matrix:
image: docker.io/girlbossceo/conduwuit:main
restart: unless-stopped
ports:
- 127.0.0.1:8008:8008
environment:
CONDUWUIT_SERVER_NAME: "${SERVER_NAME}"
CONDUWUIT_DATABASE_BACKEND: "rocksdb"
CONDUWUIT_DATABASE_PATH: "/var/lib/conduwuit/"
CONDUWUIT_PORT: "8008"
CONDUWUIT_ADDRESS: "0.0.0.0"
CONDUWUIT_ALLOW_REGISTRATION: "${ALLOW_REGISTRATION:-false}"
CONDUWUIT_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN:-}"
volumes:
- db:/var/lib/conduwuit/
volumes:
db:
После чего сохраняем файл и выходим из него.
2.4. Для создания второго файла нам сначала нужно сгенерировать REGISTRATION_TOKEN, выполним это командой:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
После выполнения команды в консоли будет выведена сгенерированная строка, которую далее мы укажем в файле .env:

2.5. Далее создадим файл .env
и добавим в него необходимые значения:
nano .env
В файл необходимо скопировать следующее содержимое:
SERVER_NAME=example.com
ALLOW_REGISTRATION=true
REGISTRATION_TOKEN=<random>
В файле необходимо заменить значение поля SERVER_NAME
на ваше доменное имя, которое вы будете использовать для сервера Сonduwuit.
А в поле REGISTRATION_TOKEN
указать ту строку, которую мы сгенерировали выше в пункте 2.4, в нашем случае: REGISTRATION_TOKEN=ugcHxsLLrKUl27GNBnQvC1gZkuQ4kBNe
После чего сохраняем файл .env
и закрываем его.
3. Выпуск SSL-сертификата для вашего домена и настройка прокси-сервера
Для работы сервера Сonduwuit необходимо выпустить SSL-сертификат для вашего используемого домена. Мы выпустим собственный сертификат с помощью certbot.
3.1. Для начала необходимо установить certbot на сервер:
apt-get install certbot -y
После установки выпустим сертификат для вашего домена командой:
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email email@customer -d matrix.your-domain.example
Обязательно замените в команде "email@customer" на ваш email-адрес, а также "your-domain.example" на имя вашего домена, для которого вы выпускаете сертификат.
После успешного выполнения команды вы можете просмотреть файлы выпущенного сертификата командой , где "your-domain.example" - имя вашего домена:
ls -la /etc/letsencrypt/live/matrix.your-domain.example/
3.2. Теперь необходимо настроить прокси сервер, мы будем использовать для этого Nginx. Для начала установим его на сервер:
apt-get install nginx -y
Затем создадим файлы конфигурации. Выполним команду:
nano /etc/nginx/sites-available/conduwuit
Скопируем в файл пример конфигурации для проксирования:
server {
listen 80;
server_name matrix.your-domain.example;
return 301 https://$host$request_uri;
}
server {
server_name matrix.your-domain.example;
listen 443 ssl http2;
listen [::]:443 ssl http2;
access_log /var/log/nginx/conduwuit.access.log;
error_log /var/log/nginx/conduwuit.error.log;
ssl_certificate /etc/letsencrypt/live/matrix.your-domain.example/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/matrix.your-domain.example/privkey.pem;
location /_matrix {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
# Nginx by default only allows file uploads up to 1M in size
# Increase client_max_body_size to match max_upload_size defined in homeserver.yaml
client_max_body_size 10M;
}
}
Обязательно замените в конфиге "your-domain.example" на имя вашего домена, для которого вы выпускали сертификат.
После этого создаем символическую ссылку:
ln -s /etc/nginx/sites-available/conduwuit /etc/nginx/sites-enabled/
И проверяем конфигурацию Nginx:
nginx -t
Если проверка не прошла успешно корректно ли вы создали файлы конфигурации по образцу с указанием вашего домена. После успешной проверки конфигов перезапускаем Nginx и включаем автозапуск для него:
systemctl restart nginx
systemctl enable nginx
4. Запуск Conduwuit
После выполнения конфигурирования сервера, выпуска SSL-сертификата и развертывания прокси-сервера мы можем запустить наш docker-контейнер с Conduwuit.
Для этого достаточно перейти в папку conduwuit , в которой вы создавали два файла в пункте 2.3 (в нашем случае это директория /root/conduwuit/
, перейти в нее возможно командой: cd /root/conduwuit/
) и выполнить команду:
docker compose up -d

Проверяем появился ли контейнер и его статус:
docker ps

5. Подключение к серверу
Вы можете использовать различные клиенты подходящие для общения в экосистеме Matrix: https://matrix.org/ecosystem/clients/ В том числе веб-клиенты не требуемые установки дополнительного ПО, например: https://app.element.io/#/login После перехода по ссылке необходимо изменить адрес сервера, к которому производится подключение:

После чего вписываем адрес вашего домена, который вы использовали для развертывания собственного сервера Conduwuit и подтверждаем кнопкой "Continue":

После чего необходимо создать аккаунт на нашем сервере:

После чего вводим данные для создания учетной записи:

Затем необходимо будет ввести регистрационный токен, который указан в конфиге (пункт 2.5):

После чего вы увидите окно приветствия с подсказками:

Вы можете пропустить их кнопкой "Skip" и после чего вы попадаете в основное меню с диалогами и управлением:

Поздравляем, вы успешно развернули собственный сервер с корпоративным мессенджером Conduwuit. Другие учетные записи вы можете создать аналогично первой учетной записи. Ссылка на github разработчика: https://github.com/girlbossceo/conduwuit Здесь вы сможете просмотреть больше документации по настройке и управлению Conduwuit.
Last updated