Synapsev1.162.0
Корпоративный мессенджер для команды: комнаты, треды и файлы со сквозным шифрованием, прямая переписка с другими организациями без общего поставщика - замена Slack и Microsoft Teams.
После создания сервера все четыре контейнера поднимаются сами: Docker разворачивает Synapse, PostgreSQL, веб-клиент Element и обратный прокси Caddy, который выпускает сертификат Let's Encrypt на magic-DNS адресе сервера. Администратора заводит сама установка. Первый ответ сервера приходит примерно через минуту после старта.
Что внутри
- Synapse (Python/Twisted + Rust)
- сервер Matrix: комнаты, федерация, сквозное шифрование, API для мобильных и десктопных клиентов.
- Element Web
- веб-клиент на русском, настроен на этот сервер из коробки.
- PostgreSQL 15
- учетные записи, комнаты, переписка.
- Caddy
- reverse-proxy и авто-TLS (Let's Encrypt), отдельный контейнер. Сервер и база слушают только localhost.
Безопасность
- fail2ban на SSHбанит IP на час после пяти неудачных попыток входа за десять минут: перебор пароля к серверу не работает.
- Регистрация закрыта с первого запускаадминистратора заводит установка, посторонний с адресом учетку не создаст. Новых сотрудников добавляет администратор.
- Ставится конкретная проверенная версия, не
latestпри обновлении версия меняется в параметрах, и подтягивается новый образ. - Presence выключениндикатор "в сети" в федерации требует много сетевого трафика на каждую комнату; отключен сразу, чтобы не расходовать ресурсы впустую.
- HTTPS с автопродлениемLet's Encrypt на magic-DNS или вашем домене, порт 8448 для федерации открыт наружу.
Как войти
Адрес формируется из IP сервера: замените точки на дефисы и добавьте
.fatmetal.net. Пример: IP45.15.159.205->https://45-15-159-205.fatmetal.net(этот же адрес показан при входе по SSH).Администратор уже создан установкой: логин
admin, пароль - тот же, что для входа по SSH на этот сервер. Регистрация новых пользователей закрыта.Ваш адрес в Matrix -
@admin:ваш-адрес, он работает как почтовый: по нему вас найдут пользователи с любого другого сервера Matrix. Мобильные и десктопные приложения Element подключаются к этому же серверу - при первом входе укажите его адрес.
Важно
Имя сервера задается один раз и потом не меняется. Оно записано в адресах всех пользователей (@admin:ваш-адрес) и в ключе подписи сервера, которым его опознают другие серверы Matrix. Если собираетесь повесить свой домен - сделайте это до того, как заведете сотрудников, иначе учетные записи придется создавать заново.
Свой домен
Имя сервера в Synapse задается один раз при первой установке: оно записано в адресах пользователей (@admin:ваш-домен) и в ключе подписи, которым сервер опознают другие серверы Matrix. Поэтому свой домен подключают ДО первого запуска, а не правкой на живом сервере.
- Направьте
A-запись своего домена на публичный IP сервера (он показан в панели заказа). - Задайте
DOMAIN=ваш.доменв/etc/synapse-mp/params.env. - Если сервер уже установлен, переустановите рецепт на чистом томе:
sudo rm -rf /opt/synapse && sudo bash /opt/synapse-mp/install.sh. Смена адреса на работающем сервере начинается с чистого листа - учетные записи и переписку перенести нельзя. - Откройте
https://ваш-домен- Caddy выпустит сертификат Let's Encrypt сам. Вход не меняется: логинadmin, пароль сервера.
Требования
Тариф CPU2-RAM4-DISK50: в простое стек держит около 147 МиБ (сервер 107, база 27, прокси 11, клиент 2), образы на диске - 1,3 ГБ. После вступления в крупные комнаты федерации расход растет - на двух больших внешних комнатах стек занимал около 700 МиБ, запас в тарифе для этого есть. Расход зависит от числа и размера комнат федерации, а не от числа сотрудников.
Почта опциональна: без нее восстановление пароля по email не работает (сервер отвечает быстрым явным отказом), сам чат при этом полностью рабочий. Свой SMTP вписывается в /etc/synapse-mp/params.env.