Обзор развертывания ONLYOFFICE Workspace на сервере¶
Предварительные требования¶
Для успешного развертывания приложения требуются следующие условия:
-
Операционная система: Debian (рекомендуемая версия — Bookworm).
-
Права доступа: Права суперпользователя (
root) для установки системных пакетов и управления Docker. -
Необходимые пакеты:
git,curl,ca-certificates. -
Системные настройки: В конфигурации GRUB должна быть включена опция
vsyscall=emulate(параметрGRUB_CMDLINE_LINUX_DEFAULT).
FDQN итоговой панели на домене hostkey.in¶
| Параметр | Значение |
|---|---|
| Префикс | only-docwork |
| Домен | hostkey.in |
| Полный шаблон | only-docwork{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
Основные директории, используемые в системе:
-
/opt/Docker-CommunityServer— рабочая директория приложения (содержит файлы конфигурации и репозиторий). -
/root/nginx— конфигурация прокси-сервера Nginx. -
/data/nginx/user_conf.d— пользовательские конфигурационные файлы Nginx. -
/opt/Docker-CommunityServer/config/mysql/docker-entrypoint-initdb.d/— директория для инициализации базы данных MySQL.
Процесс установки приложения¶
Развертывание выполняется в несколько этапов:
-
Подготовка системы: Установка необходимых системных утилит (
git,curl,ca-certificates) и настройка репозиториев Docker. -
Установка среды выполнения: Установка Docker Engine, Docker Compose Plugin и сопутствующих компонентов (containerd.io, docker-buildx-plugin).
-
Развертывание файлов приложения:
-
Клонирование репозитория
ONLYOFFICE/Docker-CommunityServer. -
Создание конфигурационного файла
docker-compose.ymlна основе шаблона. -
Инициализация базы данных: Создание SQL-скрипта для автоматического создания баз данных
onlyofficeиonlyoffice_mailserver, а также настройка пользователей с соответствующими правами доступа. -
Запуск контейнеров: Последовательный запуск сервисов (сначала база данных, затем остальные компоненты).
-
Настройка прокси-сервера: Развертывание стека Nginx для обеспечения работы по протоколу HTTPS и автоматического получения SSL-сертификатов через Certbot.
Права доступа и безопасность¶
-
Безопасность паролей: Система требует смены стандартных паролей для пользователя
rootв MySQL, пользователяonlyoffice_user, администратора почты (mail_admin) и секретных ключей JWT/Machine Key. -
Брандмауэр: Должны быть открыты порты 80 (HTTP) и 443 (HTTPS).
Базы данных¶
Приложение использует контейнер onlyoffice-mysql-server для хранения данных.
| Параметры | Значение |
|---|---|
| Образ | mysql:8.0.29 |
| Создаваемые БД | onlyoffice, onlyoffice_mailserver |
| Хранилище данных | Том mysql_data |
Контейнеры Docker и их запуск¶
Приложение разворачивается в составе группы контейнеров, работающих в общей сети onlyoffice.
Основные сервисы приложения¶
| Имя образа | Назначение | Порты (внутри) | Тома (Volumes) |
|---|---|---|---|
mysql:8.0.29 | База данных | 3306 | mysql_data, ./config/mysql/... |
onlyoffice/communityserver | Основное приложение (Workspace) | 80, 443 | community_data, community_log, document_data, /sys/fs/cgroup |
onlyoffice/elasticsearch | Поисковый движок | 9200, 9300 | es_data |
onlyoffice/documentserver | Редактор документов | 80, 443 | document_data, document_log, ./document_fonts |
onlyoffice/mailserver | Почтовый сервер | 25, 143, 587 | mail_data, mail_certs, mail_log |
onlyoffice/controlpanel | Панель управления | 80, 443 | controlpanel_data, controlpanel_log |
Вспомогательные сервисы¶
- Nginx (jonasal/nginx-certbot): Используется для проксирования трафика и автоматического получения SSL-сертификатов. Работает на портах 80 и 443.
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Инициализация БД: Выполняется SQL-скрипт
onlyoffice-initdb.sqlдля создания структуры баз данных при первом запуске контейнера MySQL. -
Настройка окружения: Настраиваются переменные окружения для связи между сервисами (хосты серверов, порты API).
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо:
-
Перейти в директорию
/opt/Docker-CommunityServer. -
Выполнить обновление образов и перезапуск контейнеров командой:
Расположение конфигурационных файлов и данных¶
| Тип данных | Путь / Имя тома |
|---|---|
| Конфигурация Docker Compose | /opt/Docker-CommunityServer/docker-compose.yml |
| Данные MySQL | Том mysql_data |
| Данные документов | Том document_data |
| Логи приложения | Том community_log, document_log, mail_log |
Доступные порты для подключения¶
-
80/TCP: HTTP (перенаправление на HTTPS).
-
443/TCP: HTTPS (основной интерфейс управления и работы с документами).
-
25, 143, 587/TCP: Протоколы почтового сервера.
Запуск, остановка приложения¶
Управление сервисами осуществляется через Docker Compose в директории /opt/Docker-CommunityServer:
-
Запуск всех сервисов:
docker compose up -d -
Остановка всех сервисов:
docker compose down