Примерно пол года назад я участвовал во внедрении 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
>>Click here to continue<<
