ServerAdmin.ru
26.7K subscribers
205 photos
24 videos
8 files
2.49K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
Подготовил наконец-то статью по чат серверу matrix synapse. Обращаю внимание, что это мое знакомство, опыта работы с ним нет. Было бы здорово, если кто-нибудь поделился в комментариях реальным опытом использования этого сервера. В целом проект показался сыроватым. В данный момент все еще ищу оптимальный корпоративный чат со своим собственным сервером. В настоящее время тестирую платный MyChat. Статьи наверно не будет, так как чат старый, известный, с хорошей документацией и поддержкой.
https://serveradmin.ru/nastroyka-chat-servera-matrix-synapse-i-klienta-riot/

#статья #chat
Мое тестирование очередного бесплатного чат-сервера Zulip. Интересный и добротный продукт, который сначала использовала, а потом приобрела Dropbox и выпустила под свободной лицензией. В статье мое знакомство с продуктом, обзор возможностей, описание первоначальной настройки. По этой статье можно полностью запустить чат в работу.

Внизу первой идет рекламная ссылка на виртуальные серверы в Германии с полным администрированием, с русской тех поддержкой. Вы можете заказать этот сервер и попросить техподдержку настроить там zulip. Можно ссылку на мою статью дать. Они вам это сделают.
https://serveradmin.ru/ustanovka-i-nastroyka-zulip/

#статья #chat
Увидел вчера новость про обновление мессенджера Zulip и решил сделать заметку о нем. Думаю, будет полезно тем, кто хочет внедрить self-hosted мессенджер и ищет решение. Я в свое время внедрял его. А так же написал статью - https://serveradmin.ru/ustanovka-i-nastroyka-zulip/ Она устарела, но тем не менее, можете получить представление о том, что это за чат.

В целом, мне Zulip понравился по функционалу. Но как и любой другой клиент мессенджера, написанный на Electron, он очень тормозной, а когда история разрастается, очень тормозной. Но это проблема всех подобных клиентов. Сильно лучше все равно не найдете.

Если ищете свой чат, то обратите внимание на Zulip и потестируйте. Может зайдет. Мне зашел в свое время. Конечно, после Telegram трудно пользоваться каким-то другим мессенджером, но что делать, если нужно свою установку.

#chat
​​Я совсем не касался на своем канале темы чатов, которые можно развернуть на своих серверах. Хотя тема актуальна и востребована. Я много времени потратил на тестирование тех или иных чатов. К сожалению, не нашел то, что устроило бы на 100%. И при этом все они хуже того же Telegram. После него не хочется пользоваться чем-то другим. Тем не менее, не всегда и не везде его можно использовать. Self-hosted решения всё равно занимают свою нишу.

Начать серию постов хочу с Zulip. У меня есть статья по нему, но не знаю, насколько она еще актуальна. Писалась года 3 назад. Думаю, продукт с тех пор сильно изменился. Я его много тестировал и внедрял. Подкупила относительная простота клиента, хорошая документация и то, что его использует Dropbox для своих внутренних коммуникаций.

Установить, настроить и разобраться у меня не составило каких-то больших проблем. В целом, чат как чат, со всеми присущими современному софту минусами. Написан на фреймворке Electron, поэтому тормозной. В огромной истории, накопившейся за полгода-год найти что-то нереально. Клиент жутко тормозит. Примерно как сейчас в Skype, которым я вообще перестал пользоваться.

Из плюсов стоит отметить следующее:
Поддержка различных SSO провайдеров (google, github, gitlab и т.д.) 
 Синхронизация учёток с LDAP / AD
 Ролевая система прав и доступов
Простая установка и поддержка
Готовые интеграции с кучей софта (prometheus, ansible, git, zabbix и т.д.)

В целом, Zulip не хуже современных бесплатных аналогов, таких как mattermost, rocket chat, matrix и т.д. Нормальный зрелый продукт с большим сообществом. Когда я делал внедрение и сравнивал их всех, Zulip понравился больше. Если вы выбираете себе чат, обязательно посмотрите на него. Он достоин внимания. А тормозные клиенты сейчас почти у всех популярных чатовых платформ, так что считать его минусом в сравнении с другими нельзя.

Дальше будут заметки как минимум про mattermost, mychat, rocket chat. Если пользовались чем-то из этого, то поделитесь впечатлениями.

#chat #selfhosted
​​Вновь возвращаюсь к теме чатов. В этот раз речь пойдёт про MyChat - https://nsoft-s.com. У меня ранее была подробная статья на сайте с разбором этого чата. Я достаточно внимательно его тестировал в свое время и планировал внедрять, но так и не сложилось.

В этом чате меня в первую очередь привлекло и привлекает до сих пор - легковесный клиент. Отталкивает - несколько старомодный его дизайн. Но это субъективно. Функционал у чата отличный. Если сравнивать с другими, то лично мне он показался самым функциональным.

К плюсу, хотя для кого-то это может быть минус, простая установка и настройка на Windows. Разобраться несложно. Обычный установщик и затем привычный интерфейс для настроек. Есть хорошая документация, форум, техподдержка. С освоением и настройкой лично у меня проблем не возникло. Из коробки работает интеграция с AD.

Я не буду подробно всё расписывать, так как это есть в статье. Рекомендую обратить внимание на MyChat и попробовать. Он самобытен и не похож на многочисленные клоны Slack. Уверен, кому-то он точно понравится. Когда я тестировал, клиент был очень сильно похож на старый icq клиент - Miranda, которым я долго пользовался.

Продукт активно развивается, постоянно обновляется, расширяет функционал. Это такая долгоиграющая история. Ему уже лет 10 наверное, может больше. Давно его знаю.

#chat #selfhosted
​​Продолжаем тему чатов. На этот раз рассмотрим Mattermost. Это один из клонов Slack, который на момент своего появления был очень на него похож. Сейчас уже не знаю, так как подробно не слежу ни за Mattermost, ни за Slack. Проект open source, есть возможность развернуть на своих серверах. За отдельную плату предоставляется расширенный функционал, без которого зачастую очень грустно эксплуатировать Mattermost.

https://github.com/mattermost/mattermost-server
https://github.com/mattermost/desktop
https://mattermost.com/

Примерно 4 года назад я изучал и внедрял Mattermost, после этого написал статью. Понятное дело, что она устарела, но представление о том, что из себя представляет этот чат, получить можно. Очень хочется всё это дело с чатами обновить, но пока нет возможности. MM я внедрил в двух компаниях. В одной прижилась и заменила Skype. Из другой убрали, так как оказалось, что отдельный чат-сервер не нужен и обошлись в итоге публичными мессенджерами.

В отличие от Zulip, в Mattermost интеграция Active Directory / LDAP есть только в платной версии, так же как и система управления правами и доступами. Без этого управлять чатами для коллектива хотя бы в 30-50 человек становится трудно и неудобно.

Из плюсов я отмечу удобный клиент. Мне понравился как функционал, так и внешний вид. Все как-то привычно и на своих местах. Не надо особо разбираться, как тут всё устроено. Например, в Zulip не так интуитивно. К сожалению, клиент MM написан, как и многие прочие, на Electron. Но оптимизирован нормально и больших тормозов при поисках в истории я не наблюдал.

MM часто сравнивают с Rocket Chat. В момент появления они были очень похожи, но со временем пути разошлись. В Rocket Chat больше функционала в бесплатной версии. Но при этом под капотом в серверной части JavaScript (Meteor framework), а в MM - Go и React, что выглядит предпочтительнее.

Последнее время я вижу в отзывах при их сравнении, что отдают предпочтение именно Rocket Chat. Следующая заметка будет про него. Думаю, это связано с с тем, что MM в первую очередь метит в корпоративный, платный сегмент, предоставляя услуги значительно дешевле, чем Slack. В связи с этим функционал бесплатной версии сильно урезан.

Кстати, проект RockyLinux выбрал платформу Mattermost для своего общения.

#chat #selfhosted
​​Продолжаю тему чатов. В этот раз рассмотрю любимый многими Rocket.Chat. Я его никуда не внедрял и скорее всего не буду. Чтобы освежить свои впечатления, решил установить и пощупать последнюю версию. Сначала думал статью написать, но по факту я нашел полностью рабочую инструкцию, по которой за 15 минут всё настроил. Не вижу смысла повторять.

Как я уже упоминал ранее, Rocket.Chat это JavaScript, а приложение для общения на Electron. Для меня это приговор. Мне совершенно не нравится эта связка, потому что она тормозная. Это самый существенный минус данного чата. Ставить приложение на компьютер нет никакого смысла. Там под капотом тот же Chromium. Проще всё в одном браузере открывать, нежели плодить их в системе.

К сожалению, сейчас очень много приложений написаны на Electron и тормозят, поэтому однозначно давать минус рокет чату не стоит за это. Но в связке с JavaScript получается минус в квадрате. Дальше расскажу о плюсах. Их у Rocket.Chat хватает. Стоит отдать ему должное.

Рокет предлагает самый большой функционал в бесплатной версии среди всех известных мне чатов. Тут не нужны никакие компромиссы. Есть, пожалуй, всё, что надо от чата. Что мне больше всего понравилось - расширенное управление правами и доступами. Можно настроить практически всё, что угодно и как угодно. В mattermost этого вообще нет в бесплатной версии.

В плане внешнего вида у меня тоже нет никаких претензий. Выглядит приятно, гармонично, интуитивно понятно. Пользоваться удобно. Очень много интеграций с другими продуктами. Rocket.Chat известная платформа. Практически везде увидите возможность интеграции с ней.

Подвожу итог. Если подбираете себе selfhosted чат, пробовать Rocket.Chat однозначно надо. Если вас не смущают технологии, на которых он построен, и устраивает быстродействие и работа клиента, то внедряйте и пользуйтесь. Продукт зрелый, известный, много кто пользуется. Каких-то явных проблем с ним нет.

https://rocket.chat/
https://github.com/RocketChat

Помимо своего сервера, есть возможность покупать чат по подписке как saas сервис. Цены раза в 3 ниже, чем за Slack. Вместо картинки с чатом, покажу вам лучше админку и настройки, которые там есть.

#chat #selfhosted
​​Вновь возвращаюсь к теме чатов. Ещё пара вариантов для рассмотрения осталась. Сегодня поговорим о Matrix Synapse. Это не совсем чат-сервер, скорее платформа для организации чатов. Расскажу подробнее.

Matrix - это открытый протокол для децентрализованной коммуникации. Он может быть реализован в различных серверах и мессенджерах - https://matrix.org.

Synapse - локальный сервер, который работает на протоколе matrix, обеспечивает возможность подключения и общения клиентов. Написан на Python - https://matrix.org/docs/projects/server/synapse. Можно быстро запустить в docker или воспользоваться публичным сервером.

Для данной связки можно использовать любой клиент. Наиболее популярным и зрелым является клиент Riot, который в настоящий момент переименован в Element. Я пробовал именно его, когда тестировал данную связку. Он есть как web клиент, desktop и android приложение - https://element.io. К сожалению, под капотом там javascript и какой-нибудь современный фреймворк (не уточнял, какой именно), так что большого смысла использовать именно приложение нет. Оно точно так же выглядит, как и страница в браузере.

В плане функционала данная связка не будет сильно отличаться от остальных чатов. Всё необходимое есть. Внешний вид тоже нормальный. Явным плюсом подобного решения является бесплатность и гибкость, возможность расширять функционал различными дополнениями и разными клиентами. Плюс, есть возможность интеграции с другими системами, например, сервером видеоконференций Jitsi-meet.

Минус сразу на виду и следует из плюсов. Подобный конструктор по определению будет менее стабилен и более требователен к настройке и управлению. Порог вхождения будет повыше, хотя какой-то кардинальной сложности нет. У меня есть статья-обзор по установке и настройке подобной связки. Она немного устарела, но получить представление о чат-сервере можно.

Будет неплохо, если протокол Matrix продолжит свое развитие и завоюет популярность, как в свое время irc или xmpp. Пользователи от этого только выиграют. Сейчас по факту почти все пользуются закрытыми проколами и проприетарным ПО в этой области. Если честно, я не уверен, что у Matrix что-то сильно популярное выйдет. Мне кажется, сфера общения в виде мессенджеров очень лакомая для коммерческих организаций. Они будут максимально развивать и наращивать бесплатный функционал, лишь бы вы пользовались их продуктами и сливали информацию о себе. Open Source продукту будет трудно с ними конкурировать.

Если кто-то внедрял подобный чат-сервер, дайте обратную связь. Как там в плане стабильности и удобства в реальной эксплуатации.

#chat #selfhosted
​​Добиваю тему self-hosted чатов. Напомню, что ранее уже рассмотрел:

✔️ Zulip
✔️ MyChat
✔️ Mattermost
✔️ Rocket.Chat

Эти чаты я либо сам внедрял, либо тестировал и готовил к внедрению, поэтому есть личный опыт установки, базовой настройки и типового тестирования. Мне посоветовали посмотреть ещё на Delta Chat, что я и сделал.

Главная особенность Delta Chat в том, что для доставки сообщений используется smtp протокол. То есть он работает поверх инфраструктуры почтовых серверов, а значит свой сервер чата не нужен вообще. Идея выглядит необычной и любопытной. Для общения с помощью этого чата достаточно любых существующих почтовых ящиков.

Я поставил десктопные клиенты и пообщался сам с собой, настроив для этого соответствующие почтовые ящики. Сразу скажу, что клиент написан на Electron 😪. Настройки почтовых ящиков Яндекс.Почты автоматом не подобрал, пришлось вручную указать серверы и порты, предварительно в настройках ящика разрешив подключаться по imap. С gmail авторизация прошла автоматом без танцев, но пришлось в настройках безопасности разрешить подключаться ненадёжным приложениям.

Поотправлял сообщения туда-сюда. В целом работает. Клиент, как и всё на JavaScipt и Electron, тормозной. Идея интересная, так как практически полная децентрализация и всё работает поверх уже существующей инфраструктуры. Но те, кто понимают, как работает почта, сразу увидят кучу минусов. Тут и шанс попасть под спам фильтры, и greylisting, и задержки при доставке почты по smtp, и просто потери писем, которые иногда случаются. Всё это в целом с натяжкой тянет на полноценный чат. Никогда не будешь уверен, что твое сообщение быстро и гарантированно будет доставлено.

В таком виде, как реализовано, мне кажется, тема не пойдёт в массы. Ей самое место в каком-нибудь почтовом клиенте, пусть даже и в web. Там удобно вести подобную переписку, а как отдельное приложение для чата, мне кажется, не очень уместно.

Как бонус, бэкап всей переписки в ящиках, правда в зашифрованном виде. Не знаю, в каком виде потом всё это можно посмотреть, если сам чат будет удалён с компьютера. На базе уведомлений о доставке и прочтении реализована индикация доставки и прочтения сообщений в чате. Сам чат выглядит приятно. Интерфейс простой и понятный.

И да, это полностью open source:
https://github.com/deltachat
https://delta.chat/

#chat
Технический пост, который уже давно нужно было сделать, но всё руки не доходили. На канале много содержательных заметок по различным темам. Иногда сам через поиск ищу то, о чём писал. Ниже набор наиболее популярных тэгов по которым можно найти что-то полезное (и не очень).

#remote - все, что касается удалённого управления компьютерами
#helpdesk - обзор helpdesk систем
#backup - софт для бэкапа и некоторые мои заметки по теме
#zabbix - всё, что касается системы мониторинга Zabbix
#мониторинг - в этот тэг иногда попадает Zabbix, но помимо него перечислено много различных систем мониторинга
#управление #ITSM - инструменты для управления инфраструктурой
#devops - в основном софт, который так или иначе связан с методологией devops
#kuber - небольшой цикл постов про работу с kubernetes
#chat - мои обзоры на популярные чат платформы, которые можно развернуть у себя
#бесплатно - в основном подборка всяких бесплатностей, немного бесплатных курсов
#сервис - сервисы, которые мне показались интересными и полезными
#security - заметки, так или иначе связанные с безопасностью
#webserver - всё, что касается веб серверов
#gateway - заметки на тему шлюзов
#mailserver - всё, что касается почтовых серверов
#elk - заметки по ELK Stack
#mikrotik - очень много заметок про Mikrotik
#proxmox - заметки о популярном гипервизоре Proxmox
#terminal - всё, что связано с работой в терминале
#bash - заметки с примерами полезных и не очень bash скриптов или каких-то команд. По просмотрам, комментариям, сохранениям самая популярная тематика канала.
#windows - всё, что касается системы Windows
#хостинг - немного информации и хостерах, в том числе о тех, кого использую сам
#vpn - заметки на тему VPN
#perfomance - анализ производительности сервера и профилирование нагрузки
#курсы - под этим тэгом заметки на тему курсов, которые я сам проходил, которые могу порекомендовать, а также некоторые бесплатные курсы
#игра - игры исключительно IT тематики, за редким исключением
#совет - мои советы на различные темы, в основном IT
#подборка - посты с компиляцией нескольких продуктов, объединённых одной тематикой
#отечественное - обзор софта из реестра отечественного ПО
#юмор - большое количество каких-то смешных вещей на тему IT, которые я скрупулезно выбирал, чтобы показать вам самое интересное. В самом начале есть шутки, которые придумывал сам, проводил конкурсы.
#мысли - мои рассуждения на различные темы, не только IT
#разное - этим тэгом маркирую то, что не подошло ни под какие другие, но при этом не хочется, чтобы материал терялся, так как я посчитал его полезным
#дети - информация на тему обучения и вовлечения в IT детей
#развитие_канала - серия постов на тему развития данного telegram канала

Остальные тэги публикую общим списком без комментариев, так как они про конкретный софт, понятный из названия тэга:
#docker #nginx #mysql #postgresql #gitlab #asterisk #openvpn #lxc #postfix #bitrix #икс #debian #hyperv #rsync #wordpress #zfs #grafana #iptables #prometheus #1с #waf #logs #netflow
​​Я неоднократно получал рекомендацию посмотреть на децентрализованный мессенджер Jami, особенно в контексте моих заметок на тему selh-hosted серверов для организации собственного мессенджера для общения. Эти заметки можно почитать по тэгу #chat

Решил познакомиться с Jami и разобраться, что это такое и как работает. Если кратко, то это условный аналог Whatsapp, Telegram и т.д., только в котором не надо регистрироваться и оставлять свои персональные данные. Из особенностей - контакты хранит в общем блокчейне на основе Ethereum, его же использует для аутентификации. Поддерживают всё это хозяйство публичные ноды по аналогии с нодами крипты.

Можно поднять свою ноду, процесс описан в wiki. По дефолту клиент стучится на bootstrap.jami.net:4222, оттуда уже берёт список известных нод и дальше использует какую-то из них, не обязательно центральную. Но при первом запуске подключается именно к jami.net. Теоретически можно настроить в закрытом периметре свою ноду и замкнуть всех своих клиентов на неё. Из описания не понял, можно ли исключить её из общей сети, чтобы она была только твоя, с твоим блокчейном абонентов.

Jami позволяет совершать аудио и видео звонки, в том числе групповые, обмениваться файлами. То есть это может быть актуально для банального разговора с кем-то, когда не хочешь светить свои персональные данные в известных мессенджерах. Достаточно скачать Jami клиент, установить себе на комп, пройти быструю регистрацию, где не требуется даже почта и пароль. И дальше связываться с собеседником, который проделал всё то же самое. Как я понял, привязка к твоему аккаунту идёт по имени учётной записи, которую ты укажешь и идентификатору, который запоминается на устройстве. Потерять нельзя ни то, ни другое, иначе доступ к акккаунту пропадёт. Вся история хранится на твоих устройствах.

Связь между абонентами осуществляется по технологии p2p с использованием шифрования. Если оба за натом, то соединение устанавливается через какую-то публичную ноду. Как я понял, подобный мессенджер считается очень безопасным, потому что анонимен и всё шифруется.

В целом, интересный чат, так как сейчас практически нереально пообщаться, не оставив своих персональных данных. Везде идёт привязка к номеру телефона. С Jami можно обойтись без этого, так что неплохо было бы получить развитие этого мессенджера. Клиент есть под все популярные системы, в том числе на смартфонах.

Сайт - https://jami.net/
Исходники - https://git.jami.net/savoirfairelinux/jami-project
Обзор - https://www.youtube.com/watch?v=3MU2Kg7gwF8

#chat
​​Я вчера был на конференции, организованной компанией TrueConf. Была недавно на канале реклама этого мероприятия. Сразу скажу, что этот пост у меня никто не заказывал и не просил написать. Это моя инициатива. Он просто хорошо ложится в канву импортозамещения и перехода на отечественные продукты.

TrueConf - это платформа для видеоконференций и онлайн общения, которая конкурирует с известными мировыми брендами, такими как Zoom, Teams, Webex и т.д. Причём конкурирует давно и не только на отечественном рынке. Основное отличие и оно же преимущество - возможность купить продукт в формате On-premise или Box. То есть вы можете установить ПО на своё железо и оплачивать его по ежегодной подписке или купить бессрочную лицензию.

Я не буду подробно описывать все возможности TrueConf, так как это известная компания с большой линейкой продуктов, пытающаяся покрыть все потребности бизнеса в коммуникациях (видеоконференции через PC клиенты, через аппаратные устройства для переговорок, через аппаратные терминалы для sip/h323, свой транскодирующий сервер и т.д.) Всё это рассчитано на очень большие масштабы.

Отмечу кратко то, на что сам обратил внимание из полученной информации:
Некоторое время назад было масштабное обновление ПО, в том числе клиентского. Сейчас клиент позиционируется в том числе как чат для корпоративного общения. Замена Telegram, WhatsApp и т.д. То есть не только звонилка для видеопереговоров.
Разработка старается конкурировать с мировыми лидерами Zoom, Teams и т.д. Пытаются брать лучшие практики и улучшать их. Речь о функционале и удобстве.
Решение, установленное на своих серверах, позволяет хранить у себя всю аналитику по использованию, в том числе статистику, видеозаписи и т.д. Это становится очень актуально в последнее время, так как явно виден тренд на сегментирование интернета и риски SaaS продуктов.
TrueConf Server можно установить на любое типовое железо, так что производительность и объёмы дисков зависят только от ваших потребностей.
У TrueConf есть поддержка SIP. То есть этот продукт пытается совместить в себе основные коммуникации бизнеса - чат, видео, телефония.

Отдельно отмечу, что сам я TrueConf никогда не использовал. Была пара тестирований, когда поднимал сервер, но внедрения не делал и активно не использовал. Так что всё написал со слов докладчиков и маркетинговой информации.

❗️У TrueConf Server есть бесплатная версия на 10 абонентов, где можно протестировать основной функционал, в том числе запись конференций. Сервер есть под Windows и Linux, клиенты под все популярные стационарные и мобильные системы. Поддерживаются в том числе все отечественные системы (Asta, ROSA, Alt и т.д.) Ещё раз отмечу, что сервер можно установить у себя автономно в том числе в закрытых сетях.

ps Отдельно хочу отметить, что хотя официально на поставки иностранного оборудования наложены ссанкции, сами производители в них не заинтересованы и реально оборудование поступает и доступно для заказа.

Сайт - https://trueconf.ru/
Реестр ПО - https://reestr.digital.gov.ru/reestr/301405/

#отечественное #videoserver #chat
​​Давно не было заметок про чаты. Одно время обозревал все наиболее известные бесплатные решения с возможностью установки своего сервера. Посмотреть их можно по тэгу #chat.

Сегодня расскажу про ещё один бесплатный чат-сервер и клиент, который попробовал сам. Речь пойдёт про SimpleX Chat. Своими словами об особенностях, на которые я лично обратил внимание:

возможность использовать свой сервер на Linux для соединения клиентов;
возможность установить консольный клиент на Linux, общаться и передавать файлы на клиенты других платформ (MacOS, Windows, Android, iOS), десктопные клиенты только консольные;
чат полностью независим от каких-либо внешних компонентов или сервисов, для регистрации и общения не нужно ничего указывать;
можно совершать аудио и видео звонки;
сообщения хранятся только на стороне пользователя.

🛡 SimpleX позиционирует себя как очень защищённая, приватная платформа для общения с двойным E2E шифрованием (End-to-End Encryption) всей передаваемой информацией. С учётом того, что можно использовать open source клиенты и серверы, скорее всего это так и есть.

На практике общение выглядит так. Вы устанавливаете клиенты на необходимые устройства. Например, на смартфон и сервер под Linux. Никаких регистраций нигде не надо, достаточно указать только имя, по которому вас будут видеть собеседники. Если не используете свой сервер для соединения, по умолчанию используется пул серверов от разработчиков на поддоменах simplex.im. Поменять сервер можно в настройках.

Чтобы связать два устройства между собой, необходимо на одном из них сформировать специальный код для подключения и передать его другому человеку. Можно в виде текста или qr кода. Этот человек добавляет новый контакт и указывает этот код. Теперь можно переписываться.

На практике я не знаю, кому может пригодиться подобная секретность или анонимность. Но параноиков сейчас масса, так что проект активно развивается, регулярно выходят обновления. Клиенты написаны на Haskell, Swift и Kotlin. Ещё раз отмечу, что десктопные клиенты только консольные. Подозреваю, что это временно, так как протокол общения открытый. Сервер можно развернуть из готовых шаблонов VM у крупных хостеров, например Linode или DigitalOcean.

Лично мне показалось удобным перекидывать файлы через консольный клиент с сервера на смартфон или обратно. Поддерживается групповое общение. То есть можно создать группу серверов и через смартфон передавать туда какие-то файлы или наоборот. Всё это через свою инфраструктуру, без отсвечивания на сторонних сервисах. Можно заскриптовать какие-то действия.

Сайт - https://simplex.chat
Исходники клиента - https://github.com/simplex-chat/simplex-chat
Исходники сервера - https://github.com/simplex-chat/simplexmq

#chat
​​Решил освежить информацию по теме бесплатных чатов, которые можно развернуть на своих серверах. В ближайшее время будет несколько публикаций по этой теме. Напомню, что я ранее рассказывал про наиболее известные продукты:

Zulip
MyChat
Mattermost
Rocket.Chat
Matrix + Element
Delta Chat
Jami
SimpleX Chat

Некоторые из них я сам настраивал и внедрял. На мой взгляд, наиболее зрелые продукты, которые можно внедрить в организации - Zulip, Rocket.Chat, Mattermost. Matrix + Element тоже не плох, но есть шероховатости по качеству работы, как-будто немного сыровато, хотя за год может что-то и изменилось. Можно почитать комментарии к каждому чату.

Моё внимание привлёк проект Wire. Заявляется в СМИ, что это разработка бывших сотрудников Skype. На github представлены исходники всех клиентов и серверной части. На вид всё неплохо. Продукт довольно старый (с 2014 года), команда опытная, открыты исходники, можно поднять у себя.

Когда стал разбираться более подробно, приуныл. Во-первых, клиент, как у всех популярных чатов, на JavaScript. То есть привычный лагодром в перспективе, по мере роста чатов и истории. Во-вторых, открытые исходники сервера вроде как есть, но реально развернуть сервер и попробовать затруднительно.

В готовом к установке виде серверная часть представлена в виде helm чартов для установки в Kubernetes. Разработчики считают это наиболее подходящей средой для работы сервера. Если посмотреть на схему сервисов, то можно их понять. Сервер состоит из множества различных служб (более десятка: Cassandra, MinIO, ElasticSearch и т.д.). Кубер видится логичной инфраструктурой для его работы.

Есть возможность для теста поднять всё в Docker контейнерах на одном хосте, но придётся немного повозиться, собрать всё это, запустить и убедиться, что всё правильно стартовало. Я решил не тратить своё время на это.

Сервис чата Wire поставляется по подписке. Есть бесплатный тарифный план на 5 пользователей. У меня создалось впечатление, что исходники были выложены в основном для галочки. Я не очень представляю, кто готов будет решиться развернуть и поддерживать у себя такой масштабный проект без технической поддержки. Документация по продукту скудная и местами недоделанная.

Зарегистрировал бесплатный аккаунт и протестировал чат. Не нашёл там чего-то особенного, что выделяло бы его среди других и стоило таких заморочек с собственной установкой или покупкой подписки. Более популярных и именитых аналогов полно. Если есть кто-то, кто разворачивал Wire у себя или пользовался им, то поделитесь впечатлением.

Сайт / Исходники / Клиенты

#chat
​​Продолжаю тему бесплатных чатов, которые можно развернуть на своих мощностях и использовать бесплатно. Сегодня будет обзор на чат-сервер, позиционирующий себя как альтернатива проприетарному Discord - Revolt.

Сразу перейду к главному - под капотом у Revolt бэкенд на Rust, в качестве БД используется MongoDB, клиентская часть ... барабанная дробь ... написана на TypeScript, а конкретно десктопные приложения на базе Electron. Если я не ошибаюсь, то всё как в оригинале. Discord тоже написан на Rust, а клиент на Electron.

Кажется, совсем провал - очередной Electron. Но на самом деле не всё так плохо. Во-первых, на Electron сейчас пишется очень много приложений (а клиенты чатов почти все), так что приходится с этим как-то жить. Тот же Rocket.Chat тоже на электроне, так у него ещё и серверная часть на JavaScript. И это не мешает ему быть довольно популярным. Из бесплатных selfhosted чат-серверов он один из самых известных. Так что серверная часть на Rust смотрится неплохо на фоне всех остальных.

Revolt очень просто попробовать, так как доступен бесплатный публичный сервис, где можно зарегистрироваться, создать со знакомыми группы и всё проверить. Так как клиенты это по сути обёртки над web версией, через браузер можно оценить весь функционал. Отмечу, что приложение под Windows можно установить через Microsoft Store или просто скачать установщик. Под все остальные популярные системы тоже есть отдельные клиентские приложения.

В целом, мне чат понравился. Выглядит современно, удобно. Сильно похож на Rocket.Chat и Mattermost. Нашёл публичный чат-сервер сообщества Arch Linux. Полазил по нему. Функционал плюс-минус как у всех - боты каналы, закрепы, картинки и т.д. Можно в один клиент добавлять разные серверы и переключаться между ними.

Если чат понравится и решите развернуть свою серверную часть - добро пожаловать в отдельный репозиторий. Всё оформлено через docker-compose, так что запускается в несколько кликов. Необходимо будет только .env заполнить. Серверная часть состоит из контейнеров:
MongoDB 
Redis
API server
Events service
Web App
S3-compatible storage server Minio
File server (autumn)

Стек стандартный. Хранение файлов в S3. Забыл упомянуть про русификацию. Она нормально сделана, русским языком пользоваться можно. Не заметил каких-то ляпов в переводе или проблем с длиной текста, как часто бывает, когда просто переводят без учёта длины строк. Но есть отдельные непереведённые места.

Revolt свежий проект. Судя по репозиторию, в районе года назад всё началось. Сейчас нет никаких ограничений у бесплатной версии, а платная вообще не появилась. Так что выглядит по функционалу очень привлекательно.

#chat
​​В рамках задачи по изучению бесплатных платформ для запуска чат-серверов нашёл интересный продукт, который помимо чата включает в себя остальные инструменты для совместной работы - онлайн документы, календарь, задачи. Речь пойдёт про Twake - open source продукт с монетизацией через продажу SaaS сервиса по подписке.

Сразу обращаю внимание на некоторые моменты, которые меня привлекли. Во-первых, сайт проекта представлен на английском, французском и русском языках. Во-вторых, на сайте явно указано, что Twake соответствует федеральному закону о персональных данных 152-ФЗ. Сама компания из Франции, но называет свою команду международной. Я так понял, что там есть какие-то связи с РФ, иначе про 152-ФЗ они вряд ли бы знали.

Twake называет сам себя бесплатной альтернативой Microsoft Teams, хотя лично мне он показался вообще непохожим на Teams. В качестве редактора документов там используется OnlyOffice, для видеозвонков Jitsi. Он скорее похож на Nextcloud или Kopano.

Twake расширяет свой функционал за счёт внешних интеграций, которые настраивать должно быть просто, так как архитектура приложения заточена под это. К примеру, уже есть готовая интеграция с n8n. Настройка показана в документации. Фронт написан на React (Javascript), бэкенд на PHP. Клиент, понятное дело, Electron. Ставить отдельно большого смысла нет, потому что он ничем не отличается от веб версии.

Попробовать Twake можно на бесплатном тарифном плане в облаке или развернуть у себя с помощью Docker. Все контейнеры уже собраны. Запустить так:
# git clone https://github.com/linagora/Twake
# cd Twake/twake
# ./start.sh

Только один нюанс. По умолчанию почему-то запускаются очень старые контейнеры еще от 2021 года. Я вручную заменил версию на последнюю 2022.Q4.1120 в файле docker-compose.yml. И ещё момент. Twake использует БД ScyllaBD, которой для работы нужны инструкции процессора pclmul и sse4_2. Без них не запустится. Пришлось в виртуалке на Proxmox, где её запускал, сделать тип процессора host для этой VM, иначе этих инструкций у неё не было.

Как сам чат Twake ничего особенного из себя не представляет. Всё примерно как у всех. Его стоит рассматривать именно как платформу для совместной работы. Заметно, что проект ещё молодой (первые версии от 2020 года) и сыроват. Акцент на готовую платформу для создания собственных интеграций выглядит перспективно и если всё получится, должно выйти дельное приложение. Пока ставить в прод рискованно. Документация слабая, популярность тоже небольшая. Надо наблюдать. Бесплатных продуктов подобного типа практически нет, так что и выбирать особо не из чего.

Сайт / Исходники

#chat #docs
​​Необходимо внедрить в небольшой компании примерно на 50 человек Rocket.Chat. Не хочу долго описывать, почему выбор пал именно на него. Если кратко, то основная причина — большая функциональность платной версии. Менее значимые причины — активная разработка продукта и популярность.

Мне так или иначе знакомы все популярные чат-сервера, которые можно установить у себя. Я лично внедрял и использовал Mattermost и Zulip. Первый понравился больше всего, но бесплатная версия сильно ограничена в функциональности. Zulip понравился по возможностям и внешнему виду, но через полгода-год история так жутко тормозила, что невозможно было что-то найти в старой переписке. А вместе с ней и весь клиент тупил, что пользоваться стало некомфортно. В итоге со временем все забросили этот чат и просто перестали пользоваться.

Rocket.Chat обновляется часто, поэтому решил запускать в Docker. Инструкция есть, запускается буквально за 5-10 минут. Обязательно в compose измените версию с latest на последний релиз!!! Сразу же настроил обратный прокси на Nginx и работу по HTTPS и доменному имени.

По умолчанию сервер хранит все загруженные файлы в своей базе Mongodb. Это удобно для масштабирования установки на несколько серверов, что мне совершенно не нужно. Так что я сразу немного изменил compose файл, добавил новый volume к контейнеру с rocketchat и настроил хранение файлов в отдельной директории.

Далее сразу же настроил бэкап. В этом деле я люблю подстраховываться, поэтому сразу настроил три типа:
Бэкап на уровне виртуальной машины.
Воспользовался Docker-volume-backup для бэкапа volumes.
Бэкап дампа базы mongodb.

Rocket.Chat всё своё состояние хранит в mongodb. Если вы не переносили хранение файлов в директорию файловой системы, то бэкапа mongodb вам будет достаточно. Я не очень люблю большие дампы баз данных, в том числе поэтому вынес хранение файлов в директорию, которая вместе с дампом базы и бэкапом volume от монги уезжает на бэкап сервер.

В завершении начальной подготовки сервера настроил отправку почты через smtp сервер, проверил регистрацию и рассылку приглашений. Всё заработало сразу и без проблем. Настройка относительно простая и комфортная. Не надо сильно разбираться или погружаться в документацию. Я только про хранение файлов немного почитал, так как сразу задумался о том, где всё это будет храниться и как бэкапиться.

К сожалению, русский перевод не очень. В целом понятный, но корявенький. Себе сразу поставил английский, иначе настраивать неудобно. Пользователям оставил русский. Посмотрим, как проявит себя этот чат. Я им ещё не пользовался и не внедрял. Только для тестов ставил. Из неприятного заметил, что страница логина не грузится в Яндекс.Бразуре. Во всех других, что я проверял, загружается (Chrome, Edge, Firefox). В первом же бесконечно крутится загрузка стартовой страницы.

Если у кого-то есть советы и рекомендации на основе своей эксплуатации, буду рад подсказкам. Наверняка что-то лучше сразу настроить или поправить.

#chat
​​Автор классного ютуб канала RomNero выпустил подробное видео с разбором чат-сервера на базе протокола [matrix]. Я делал по нему заметку пару лет назад, а лет пять назад тестировал и писал статью. Ссылку не даю, так как нет смысла. Она уже сильно устарела.

Тема чатов всегда актуальна и жива, так как в среде self-hosted решений нет явного лидера. Приходится выбирать из множества имён. Я делал подборку бесплатных вариантов самых известных решений.

Недавно я успешно внедрил в небольшой компании (60-70 сотрудников) Rocket.Chat. Уже накопился некоторый опыт по настройке, поддержке, обновлению, бэкапу и т.д. Думаю, ещё немного подожду и напишу подробную статью. У этого решения есть как плюсы, так и минусы. Я остановился на нём, потому что он популярен, отзывы в целом неплохие. Плюсов больше чем минусов. Субъективно, мне кажется это наиболее подходящим вариантом на текущий момент по совокупности факторов.

Возвращаюсь к видео: Matrix messenger. Лучшая, бесплатная и ДЕЦЕНТРАЛИЗОВАННАЯ сеть для общения. Я его посмотрел целиком, было интересно, хотя почти вся информация была мне известна. Но если вы не знакомы с этим решением, то рекомендую.

Автор объяснил принцип работы протокола Matrix и чат-сервера на его основе Synapse. Он подробно разобрал установку и настройку сервера и клиентов, начиная от создания DNS записей и заканчивая просмотром логов для решения проблем.

Со стороны решение на базе Matrix выглядит привлекательно. Лично меня останавливает от его использования мало реальных отзывов и личного опыта тех, кто его использовал. Не понятно, насколько в итоге это всё удобно за пределами тестовых лабораторий, стендов и заметок с обзорами. По конкурентам такие отзывы и опыт есть (Mattermost, Zulip, Rocket.Chat).

Если у вас есть опыт внедрения и использования этого чат-сервера, поделитесь информацией. Ну а если вы подбираете себе решение для внедрения, то обратите внимание на Matrix.

#chat
​​Примерно пол года назад я участвовал во внедрении Rocket.Chat в небольшой организации, где около 50-ти пользователей чата. Делал об этом заметку. Чат прижился, накопился некоторый опыт использования, так что могу поделиться информацией.

В общем и целом с чатом никаких особых проблем не возникло. Я лично занимался только серверной частью. Создавал учётки, подключал пользователей, устанавливал им клиента другой человек, непосредственно работающий там.

С установкой и обслуживанием больших проблем не было. Установил всё стандартно, только прикрепляемые файлы в директорию из базы вынул. Об этом писал в первой заметке. Запустил в Docker. Хватило виртуалки 2 CPU, 4GB RAM. Чат ровно один раз протёк по памяти, пришлось ребутнуть виртуальную машину. Мониторинг почти сразу оповестил, что окно логина недоступно, перезагрузил, пользователи даже не успели заметить.

Мониторинг настроил в Zabbix. Ничего особо не придумывал. Стандартный шаблон для Linux и мониторинг стартовой страницы сервиса. Внутренние метрики не стал мониторить. Нужды в этом не возникло.

Явно не нравится перевод на русский язык. Ни мне, ни пользователям. Пытался через встроенную функциональность в админке перевести самостоятельно некоторые вещи. Не получилось. Не знаю, по какой причине, но мой перевод не отображался. В самой админке по настройкам сильно не лазил. Даже не помню, что менял. Что-то по мелочи. Особо можно не вникать, если не хочется. По умолчанию всё нормально работает.

Ещё один минус - часто выходят обновления. Ну как минус. Это может и плюс с точки зрения развития, но для эксплуатации это минус. Приходится часто по ночам обновлять. Последнее обновление вообще вышло с предупреждением, что через 30 дней все новые клиенты перестанут обслуживаться. А клиенты обновляются автоматически, потому что вручную их хлопотно обновлять. Да и оповещения о новых версиях постоянно выскакивают. Администратор на месте всё же принял решение отключить автообновление и делать его своими силами.

Хорошая новость в том, что обновлять довольно просто, так как это Docker. Вот моя инструкция по обновлению. Писал для себя, чтобы не забыть.

#info
https://docs.rocket.chat/deploy/updating-rocket.chat#upgrading-rocket.chat-on-docker

docker pull registry.rocket.chat/rocketchat/rocket.chat:6.4.8
mcedit .env #change version

docker compose stop rocketchat
docker compose rm rocketchat
docker compose up -d rocketchat

Обновляется обычно контейнер с Rocket.Chat, а всё состояние живёт в базе MongoDB, которая обновляется редко. Так что всё обновление - это удаление старого контейнера с чатом и запуск нового.

Для бэкапа ничего особо не придумывал. Во-первых, бэкаплю саму виртуалку. Во-вторых, рядом с директорией, где прикрепляемые к сообщениям файлы, сделал ещё пару директорий. В одной дамп базы:

#!/bin/bash
/usr/bin/docker exec rocketchat-mongodb-1 sh -c 'mongodump --archive' > /opt/rocket.chat/backup_db/rocketchat-`date +"%Y-%m-%d_%H-%M"`.dump
/usr/bin/gzip /opt/rocket.chat/backup_db/rocketchat-`date +"%Y-%m-%d_%H-%M"`.dump
/usr/bin/find /opt/rocket.chat/backup_db/ -type f -mtime +10 -exec rm -rf {} \;
/usr/bin/touch /opt/rocket.chat/timestamp

Во второй бэкап volume:

#!/bin/bash
/usr/bin/docker run --rm \
 -v rocketchat_mongodb_data:/backup \
 -v /opt/rocket.chat/backup_volume:/archive \
 --env BACKUP_FILENAME="rocketchat-%Y-%m-%d_%H-%M.tar.gz" \
 --env BACKUP_LATEST_SYMLINK="rocketchat-latest.tar.gz" \
 --entrypoint backup offen/docker-volume-backup:v2

Все три директории бэкап сервер забирает к себе. В итоге имею бэкап виртуалки, дамп базы, сырые файлы контейнера, директорию с прикреплёнными файлами.

Всё это занимает не так много места, так что особо придумывать ничего не надо.

Если есть вопросы, задавайте. Мне лично Рокет не очень нравится. Я им почти не пользуюсь. Какой-то он нелепый немного, тормозной. В админке всё тоже как-то намешано, что путаешься постоянно. Но из бесплатных что-то сильно лучше я не знаю. После Telegram трудно пользоваться другими чатами.

#chat