Установка Rocket.Chat через Docker на свой сервер: термины и чек-лист
Подробности, цифры, термины и чек-лист по теме «Установка Rocket.Chat через Docker на свой сервер». Страница справочника целиком: Rocket.Chat Docker Compose.
Коротко о теме
Rocket.Chat Docker Compose из репозитория разработчика: Traefik с Let's Encrypt, MongoDB, приложения для телефонов, push-шлюз и копии базы.
Подробности по разделам
Что такое Rocket.Chat и когда вместо него брать Zulip
Видеозвонки сервер ведёт через Jitsi: в настройках видеоконференций администратор вписывает домен своего Jitsi Meet вместо публичного. Сравнение с Mattermost и Matrix есть в подборке self hosted мессенджеров. Zulip решает другую задачу.
Сколько ресурсов и портов нужно Rocket.Chat на сервере
Отметьте размер команды, мониторинг и поток вложений
Как установить Rocket.Chat через Docker Compose по шагам
Сразу после запуска смените пароль администратора Grafana или уберите панель из набора, если мониторинг вам не нужен.
Домен и HTTPS для Rocket.Chat: Traefik из набора или свой прокси
Чат держит живое соединение на веб-сокетах: Caddy проксирует их без настроек, а в Nginx для них добавляют заголовки Upgrade и Connection.
Мобильное приложение Rocket.Chat и push-уведомления на своём сервере
Подключается он регистрацией рабочего пространства в Rocket.Chat Cloud, под неё в.env предусмотрена переменная REG_TOKEN. Прочитайте условия шлюза и решите заранее, готова ли команда к такой внешней зависимости. Единый вход сотрудников подключают через OpenID Connect, например к Keycloak.
Копии MongoDB и обновление Rocket.Chat без потери вложений
Снимайте дамп командой mongodump из контейнера базы по расписанию и уносите его с сервера: схемы описаны в разделе сервер для бэкапов, о самой базе рассказывает страница MongoDB. Раз в месяц разворачивайте дамп на тестовой машине, иначе копия остаётся предположением. Для обновления смените версию образа в файле настроек и перезапустите набор.
Ключевые цифры
- Стек у него Python и PostgreSQL, лицензия Apache-2.0, ставится он собственным установочным скриптом, а не compose-набором.
- Приложение слушает 3000 внутри сети compose.
- Снаружи нужны 80 и 443, их принимает Traefik, а порт 3000 наружу открывать не нужно.
Термины на странице
- Let's Encrypt
- Let's Encrypt выпускает бесплатные DV-сертификаты на 90 дней с автоматическим продлением.
- Nextcloud
- Nextcloud это облачное хранилище файлов, которое ставят на свой сервер.
- Nginx
- Nginx это веб-сервер и обратный прокси. Его часто ставят перед приложением, чтобы раздавать статику и держать HTTPS.
- n8n
- n8n это программа для автоматизации: связывает сервисы сценариями без программирования.
- A-запись
- A-запись связывает домен с IPv4-адресом сервера.
- Apache
- Apache это веб-сервер. На хостинге с ним работают файлы .htaccess.
- Linux
- Linux это семейство операционных систем для серверов: Ubuntu, Debian, AlmaLinux и другие.
- PostgreSQL
- PostgreSQL это база данных для приложений с большими объёмами и сложными запросами.
Что проверить
- Выберите конфигурацию по памяти и диску под задачу, процессор обычно вторичен.
- Проверьте тип виртуализации: KVM даёт свою систему и гарантированные ресурсы.
- Уточните, входит ли IPv4 и сколько стоит трафик сверх пакета.
- Храните данные контейнеров в томах.
- Закрепляйте версии образов, а не latest.
- Ограничьте ресурсы контейнеров, чтобы один не съел весь сервер.