Перейти к содержанию

Обзор развертывания Rocket.Chat на сервере

Предварительные требования

Для корректной работы приложения требуются следующие условия:

  • Операционная система: Ubuntu или AlmaLinux.

  • Права доступа: права суперпользователя (root) для установки системных пакетов и управления Docker.

  • Сетевые параметры:

  • Внутренний порт: 3000

  • Внешний порт: 443 (HTTPS)

FDQN итоговой панели на домене hostkey.in

Доступ к приложению осуществляется по следующему шаблону доменного имени:

Параметр Значение
Префикс rocketchat
Домен hostkey.in
Полный шаблон rocketchat{Server_ID_from_Invapi}.hostkey.in

Структура файлов и каталогов

Основные данные и конфигурации распределены по следующим путям:

  • /opt/rocketchat — рабочая директория приложения, содержащая файлы репозитория Rocket.Chat и файл окружения .env.

  • /root/nginx — директория для управления прокси-сервером Nginx.

  • /data/nginx/user_conf.d — директория с конфигурационными файлами виртуальных хостов Nginx.

Процесс установки приложения

Развертывание Rocket.Chat выполняется в несколько этапов:

  1. Подготовка системы: устанавливается Docker и плагин docker-compose-plugin.

  2. Загрузка файлов: из репозитория GitHub скачивается актуальная версия файлов конфигурации Rocket.Chat в директорию /opt/rocketchat.

  3. Настройка окружения: создается файл .env на основе параметров системы, который определяет версию приложения (8.1.0), версию базы данных MongoDB (8.2) и доменное имя.

  4. Запуск стека: развертывание контейнеров с помощью Docker Compose (используются файлы compose.database.yml и compose.yml).

  5. Настройка проксирования: создание конфигурации Nginx для перенаправления трафика с порта 443 на внутренний порт приложения 3000.

Контейнеры Docker и их запуск

Приложение работает в составе нескольких контейнеров, управляемых через Docker Compose.

Основной стек Rocket.Chat

Для работы приложения используются два основных компонента:

  • Rocket.Chat: основной сервис приложения (версия 8.1.0).

  • MongoDB: база данных (версия 8.2), обеспечивающая хранение данных приложения.

Прокси-сервер и SSL

Для обеспечения безопасного соединения используется дополнительный контейнер:

  • Nginx-Certbot (jonasal/nginx-certbot:latest):

  • Порты: использует сетевой режим host.

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt — для хранения SSL-сертификатов.

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d — для конфигурационных файлов проксирования.

  • Переменные окружения: указан адрес электронной почты hkadm@hostkey.com для управления сертификатами Let's Encrypt.

  • Политика перезапуска: unless-stopped.

Инструкция по обновлению приложения

Для обновления основного приложения необходимо выполнить следующие действия:

  1. Перейти в рабочую директорию /opt/rocketchat.

  2. Выполнить команду для подтягивания актуальных образов и перезапуска контейнеров:

    docker compose pull && docker compose up -d
    

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×