Продолжаю тему бесплатных чатов, которые можно развернуть на своих мощностях и использовать бесплатно. Сегодня будет обзор на чат-сервер, позиционирующий себя как альтернатива проприетарному Discord - Revolt.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Сразу перейду к главному - под капотом у 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. Полазил по нему. Функционал плюс-минус как у всех - боты каналы, закрепы, картинки и т.д. Можно в один клиент добавлять разные серверы и переключаться между ними.
Если чат понравится и решите развернуть свою серверную часть - добро пожаловать в отдельный репозиторий (https://github.com/revoltchat/self-hosted). Всё оформлено через docker-compose, так что запускается в несколько кликов. Необходимо будет только .env заполнить. Серверная часть состоит из контейнеров:
- MongoDB
- Redis
- API server
- Events service
- Web App
- S3-compatible storage server Minio
- File server (autumn)
Стек стандартный. Хранение файлов в S3. Забыл упомянуть про русификацию. Она нормально сделана, русским языком пользоваться можно. Не заметил каких-то ляпов в переводе или проблем с длиной текста, как часто бывает, когда просто переводят без учёта длины строк. Но есть отдельные непереведённые места.
Revolt свежий проект. Судя по репозиторию, в районе года назад всё началось. Сейчас нет никаких ограничений у бесплатной версии, а платная вообще не появилась. Так что выглядит по функционалу очень привлекательно.
Сайт: https://revolt.chat