Системные требования
Рассчитайте объем ресурсов сервера: процессор, оперативную память и дисковое пространство, а затем подготовьте Linux, Docker и программное обеспечение, необходимое для установки MeetSpace.
На этой странице
Требования к ресурсам сервера
Для установки на новый сервер с помощью установщика из исходного кода используйте следующую начальную конфигурацию.
| Ресурсы | Рекомендуемая конфигурация / требуемый объем |
|---|---|
| Процессор (CPU) | Рекомендуется 4 vCPU или больше. Поддерживаемые архитектуры: x64 (Intel / AMD, amd64) и ARM64. |
| Оперативная память (ОЗУ) | Для сборки из исходного кода и первоначального развертывания рекомендуется использовать 8 ГиБ или более. |
| Объем диска | Рекомендуется диск от 60 ГиБ. Предусмотрите дополнительное место для записей, вложений и резервных копий. |
| Свободное место на диске перед сборкой | Не менее 35 ГиБ свободного места в файловой системе, содержащей /var/tmp, и в файловой системе, содержащей каталог данных Docker. |
Процессор и оперативная память
Архитектура ЦП, указанная локальным демоном Docker, должна соответствовать архитектуре сервера: amd64 для Intel / AMD x64 или arm64 для ARM64. Установщик проверяет количество процессоров и объем памяти, доступных для Docker, поэтому ограничение памяти Docker может иметь значение, даже если на хосте больше оперативной памяти.
Одновременные совещания, видеодорожки и задания по записи увеличивают нагрузку на ресурсы. Компоновка видео и обработка с помощью FFmpeg увеличивают нагрузку на ЦП и память, помимо необходимости переадресации вызова. Транскрипция и другие дополнительные процессы требуют определенных ресурсов.
В проекте не указано гарантированное количество участников для сервера с 4 виртуальными ЦП и 8 ГиБ памяти. Перед выбором производственного сервера протестируйте предполагаемое количество совещаний, режимы записи и клиентские сети, а также оставьте запас для завершения записи и обслуживания.
Объем диска и свободное место
Объем диска и свободное место на диске - это разные проверки. Если диск объемом 60 ГиБ заполнен, он не соответствует требованиям для установки. Загрузка исходного кода, образы контейнеров, кэш сборки и установочный пакет занимают место еще до того, как пользователи начнут создавать записи.
| Этап или местоположение | Свободное место |
|---|---|
| Свежая сборка из исходного кода | Не менее 35 ГиБ свободного места для /var/tmp и каталога данных Docker. Если они находятся в разных файловых системах, каждая из них должна соответствовать требованиям. Если они находятся в одной файловой системе, то используют одно и то же свободное пространство. |
| Место установки | Место для проверенного пакета плюс не менее 15 ГиБ свободного места в месте установки, обычно /opt/meetspace. |
| Хранилище Docker во время настройки | Не менее 15 ГиБ свободного места при проверке мастером настройки. |
| Текущая работа | Дополнительное пространство для растущей базы данных, вложений, объектов S3, рабочих файлов, журналов, сохраненных образов и резервных копий. |
Операционная система сервера
Используйте сервер Linux на amd64 или arm64 с root-доступом через sudo и интерактивным терминалом. Автоматическая установка зависимостей и Docker предназначена для Ubuntu и Debian с использованием apt и systemd. Для других дистрибутивов Linux вам придется самостоятельно подготовить зависимости.
Текущий установщик не публикует проверенную матрицу релизов и версий Ubuntu и Debian. Версии клиентских операционных систем на странице «Загрузки» относятся к десктопным приложениям, а не к поддерживаемым серверным дистрибутивам.
Необходимое серверное программное обеспечение
Подготовьте следующее программное обеспечение на хосте Linux. В Ubuntu или Debian установщик может предложить установить недостающие зависимости и Docker. Он не удаляет конфликтующие пакеты Docker или containerd без предупреждения.
| Программное обеспечение | Требования и назначение |
|---|---|
| Docker Engine | Локальный Docker Engine с правами суперпользователя, на котором запущены контейнеры Linux. Удаленные контексты Docker и Docker без прав суперпользователя не поддерживаются установщиком. |
| Docker Compose | Версия 2.24.4 или более поздняя; управляет сервисами приложений. |
| Docker Buildx | Требуется для сборки и экспорта образов контейнеров. |
| Хранилище образов Docker | Для рабочего процесса с образами OCI требуется хранилище образов containerd. Мастер не переключает существующее хранилище образов автоматически. |
| Python 3 и Bash | Запустите вспомогательную программу source-build, мастер настройки и сценарии оболочки. |
| Git | Скачивает и проверяет выбранную исходную ревизию. |
| curl и сертификаты CA | Скачивание файлов и проверка HTTPS-соединений. |
| OpenSSL | Генерирует секретные данные и проверяет TLS-сертификаты. |
| jq, tar, gzip и ripgrep | Обработка метаданных, архивов и проверка исходного кода. |
| iproute2 | Проверка сетевых интерфейсов и маршрутов сервера. |
Программное обеспечение, поставляемое при развертывании
Для управляемой сборки исходного кода вам не нужно устанавливать Go, Node.js или npm непосредственно на хост: они предоставляются в контейнерах сборки. Развертывание также предоставляет приложение и вспомогательные сервисы в виде контейнеров.
- PostgreSQL для хранения данных об аккаунтах, встречах, беседах и метаданных приложения.
- Redis для временного хранения данных и координации в реальном времени; RabbitMQ для записи команд.
- S3-совместимое объектное хранилище для записей и вложений. В защищенном установщике используется файловая система SeaweedFS, в классической схеме - MinIO.
- Веб-интерфейс и прокси, API, медиа SFU и ретранслятор Coturn.
- Запись и фоновые рабочие процессы, включая FFmpeg в рабочем процессе записи.
Доступ в интернет для установки
Для сборки из исходного кода требуется исходящий HTTPS-доступ к GitHub, реестрам контейнеров, репозиториям пакетов Linux и Alpine, зависимостям Go и npm, а также к базе данных уязвимостей Trivy. Автономный сервер не может пройти все этапы пошаговой инструкции по установке.
Перед установкой подготовьте публичный хост, DNS, доверенный HTTPS-сертификат и входящие порты для медиа. Подробные требования к портам перечислены ниже.
Проверьте свой сервер перед установкой
Выполните эти проверки только для чтения на целевом сервере Linux. Сравните его архитектуру, доступные процессоры, объем памяти, свободное место на диске и компоненты Docker с приведенными выше требованиями.
Для проверки Docker необходимо, чтобы Docker был установлен и запущен. Если вы планируете установить его в другом месте, замените /opt на существующий родительский каталог в выбранном вами месте. Стандартные утилиты Linux uname, nproc, free и df используются только для этой проверки.
# Архитектура ЦП, количество процессоров и объем памяти
uname -m
nproc
free -h
# Временное пространство для сборки и файловая система по умолчанию для установки
df -h /var/tmp /opt
# Контейнерный движок и инструменты сборки
sudo docker version
sudo docker compose version
sudo docker buildx version
sudo docker context show
# Ресурсы и фактический каталог данных, видимый для Docker
sudo docker info --format 'CPUs: {{.NCPU}}; memory bytes: {{.MemTotal}}; data: {{.DockerRootDir}}'
DOCKER_DATA_DIR=$(sudo docker info --format '{{.DockerRootDir}}')
sudo df -h "$DOCKER_DATA_DIR"Сетевые порты
Для автономного установщика по умолчанию зарезервируйте и разрешите следующие входящие порты на сервере и в брандмауэре хостинг-провайдера. Настроенные порты SFU и TURN должны соответствовать любой внешней сетевой политике.
При стандартной установке PostgreSQL, Redis, RabbitMQ и хранилище S3 находятся внутри сети развертывания. Их внутренние порты и административные интерфейсы не должны быть доступны в качестве публичных конечных точек приложений.
При усиленной защите установщик не запускает Grafana. При классическом развертывании, выбранном отдельно, Grafana может быть запущена на петлевом порту 13001.
| Порт | Назначение |
|---|---|
| 443 / TCP | HTTPS-приложение, API, WebSocket-соединения и доступ к файлам. |
| 80 / TCP | Проверка и обновление сертификата Let’s Encrypt по протоколу HTTP. Мастер не устанавливает постоянное перенаправление с HTTP на HTTPS. |
| 3478 / TCP и UDP | Подключение к TURN. |
| 5349 / TCP | TURN через TLS (TURNS). |
| 50010 / TCP и UDP | Подключение к медиаресурсам SFU. |
| 49160–49259 / UDP | Диапазон ретрансляции TURN. |
| 127.0.0.1:19090 / TCP | Локальный доступ к Prometheus. Не открывайте этот порт во внешнем брандмауэре. |
Доступ через браузер и клиент
Поведение браузера может зависеть от операционной системы, устройства, настроек разрешений и сети. В репозитории нет универсальной матрицы минимальных версий браузеров, прошедших все возможные тесты. Уточните, какие комбинации браузеров и устройств используются в вашей организации.
- Используйте современный браузер с поддержкой WebRTC и доступом к надежному источнику HTTPS.
- Разрешите доступ к микрофону и камере как в браузере, так и в операционной системе.
- Разрешите запись экрана или демонстрацию экрана, если операционная система требует дополнительных разрешений.
- Проверьте возможность прямого подключения к мультимедиа и функцию TURN в сетях, к которым будут подключаться ваши пользователи.