ServerAdmin.ru
28.6K subscribers
265 photos
34 videos
12 files
2.59K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Необходимо внедрить в небольшой компании примерно на 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
​​Только я успел написать и в целом похвалить Rocket.Chat за простоту установки, удобство и бесплатность, как прилетает новость о том, что в версии 6.5 теперь бесплатная версия поддерживает только 25 пользователей. Если надо больше - добро пожаловать в платную подписку - от $4.60 в месяц за пользователя.

Я успел обновиться только до 6.4.8 и меня пока это ограничение не затронуло. Пока есть время подумать, как дальше быть. Какое-то время можно не обновляться, но всё равно долго так не протянуть. Будут баги и дыры, которые нужно будет закрывать.

Новость особо нигде не светилась. Пришлось потрудиться и поискать, когда это изменение появилось. Немного информации есть в описании релиза 6.5. Плюс, обновилась документация: "Your workspace will be automatically provisioned a free Starter plan license when you install or upgrade to Rocket.Chat version 6.5 or higher." А на сайте, соответственно, появилось описание этого плана:

STARTER
Everything small teams need to collaborate securely
✔️ Up to 25 users
✔️ Up to 100 monthly active contacts (Omnichannel)

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

◽️ Mattermost
◽️ Zulip
◽️ Revolt
◽️ Matrix + Element
◽️ Delta Chat
◽️ Jami
◽️ SimpleX Chat
◽️ NextCloud + Talk
◽️ TrueConf Server Free (бесплатно до 50 юзеров)

На мой взгляд, наиболее зрелые продукты из полностью бесплатных без ограничений по пользователям, которые можно внедрить в организации - Zulip, Rocket.Chat, Mattermost, Matrix + Element. Rocket.Chat соответственно, исключаем, так как 25 пользователей в бесплатной версии слишком мало. Неплохой продукт - TrueConf Server Free. Там и мессенджер, и видеозвонки. Бесплатно до 50-ти пользователей, что довольно неплохо. И сам чат приятный. Но если покупать, то дороговато выходит.

У кого были успешные внедрения бесплатных self-hosted чатов, поделитесь своим опытом. Не понятно, на чём теперь остановиться.

#chat #подборка
В последние несколько дней заметил какую-то необычную активность на сайте. Заметно выросло количество посетителей по сравнению с прошлыми неделями. Решил глянуть, откуда и куда идёт трафик. Оказалось, что из поисковиков на небольшую заметку про чат-сервер Revolt.

Недавно заблокировали Discord. Я им никогда не пользовался, так что не столкнулся лично с проблемами. Не погружался в эту тему. Судя по всему, Revolt предлагают как альтернативу. У меня совсем короткая заметка про него. Чат я посмотрел в своё время и благополучно забыл про него. Даже не вспоминал. А он, судя по всему, набрал популярность. А в условиях блокировки Discord, большую популярность.

Посмотрел на него ещё раз. Кратко напомню, что это open source проект, который разрабатывается под соусом замены Discord. Написан на Rust, хранит базу в MongoDB, для файлов использует S3. Есть API, веб версия клиента, приложение на десктопы.

Серверная часть упакована в Docker Compose. Установить у себя так:

# git clone https://github.com/revoltchat/self-hosted revolt
# cd revolt
# cp .env.example .env
# wget -O Revolt.toml https://raw.githubusercontent.com/revoltchat/backend/main/crates/core/config/Revolt.toml
# docker compose up

В .env и Revolt.toml надо имя домена указать. Для теста можно IP адрес использовать. Не знаю, возникнет ли у вас ошибка, когда будете пробовать. Я когда запускал, получал ошибку монтирования Revolt.toml. Надо композ немного подправить. Буквально вчера принят PR на этот счёт. Надо в compose.yml заменить:

- ./Revolt.toml:/Revolt.toml

на:

- type: bind
source: ./Revolt.toml
target: /Revolt.toml

После этого проект успешно запустится. Правда зарегистрироваться на своём сервере у меня не получилось. Всё время получал ошибку NETWORKERROR. Бегло не получилось решить проблему. В логах ошибок не было, в репозитории тоже ничего не нашёл. Копать не стал. Подозреваю, это из-за того, что вместо доменного имени использовал IP.

Попробовал зарегистрироваться на их публичных серверах. Не смог. То ли у них сломалось что-то от наплыва пользователей из РФ, то ли специально закрыли регистрацию. Получал ошибку, что не прошёл каптчу, хотя там никакой каптчи нет. Потом вспомнил, что у меня есть учётка. Под ней зашёл нормально.

На вид чат как чат, ничем особо не отличается от всех остальных подобных. Похож на Rocket.Chat. Из-за чего такой ажиотаж вокруг именно Revolt, мне не понятно. Если знаете, напишите, пожалуйста. Можно в том же Telegram общаться. Все те же возможности, что и в Discord и даже больше. Плюс, быстрое, лёгкое приложение для компьютеров и смартфонов.

Хотя я уже не уверен, что Telegram не заблокируют. Там наверху блокираторы с обоих сторон вразнос пошли. Разделяют людей на два противоположных лагеря, минимизируя между ними контакты. Думаю, все понимают, для чего это делается:
🪖 💣 💥 😥

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

#chat