Обзор развертывания ONLYOFFICE Document Server на сервере¶
Предварительные требования и базовые условия¶
Для развертывания требуется сервер Linux с операционной системой Ubuntu и правами root. В системе должны быть установлены Docker и Docker Compose для управления контейнеризованным приложением и обратным прокси-сервером. Сервер должен быть доступен через интернет для успешного завершения процесса выдачи SSL-сертификата.
FQDN конечной панели¶
Приложение доступно по следующему формату полного доменного имени (FQDN):
only-docs<Server ID>.hostkey.in:443
Замените <Server ID> на конкретный идентификатор, назначенный экземпляру сервера.
Структура файлов и каталогов¶
Развертывание использует следующую структуру каталогов для файлов конфигурации, хранения данных и сертификатов:
-
/root/nginx: Содержит конфигурацию Docker Compose для обратного прокси-сервера. -
/root/nginx/compose.yml: Файл Docker Compose, определяющий сервисы Nginx и Certbot. -
/data/nginx/user_conf.d: Каталог, содержащий пользовательские файлы конфигурации Nginx для приложения. -
/data/nginx/user_conf.d/only-docs<Server ID>.hostkey.in.conf: Специфичный файл конфигурации Nginx для экземпляра ONLYOFFICE Document Server. -
/data/nginx/nginx-certbot.env: Файл окружения, содержащий настройки для контейнера Nginx-Certbot. -
/etc/letsencrypt: Точка монтирования тома для SSL-сертификатов, управляемых Certbot.
Процесс установки приложения¶
Приложение развертывается с использованием контейнеров Docker. Основным приложением является ONLYOFFICE Document Server версии 9.3. Установка включает запуск контейнера приложения и настройку обратного прокси-сервера с завершением SSL-соединения.
Контейнер приложения настроен со следующими параметрами:
-
Образ:
onlyoffice/documentserver:9.3 -
Имя контейнера:
onlyoffice-docs -
Политика перезапуска:
always -
Связывание портов:
127.0.0.1:8080:80(только внутренний) -
Переменные окружения:
-
JWT_ENABLED:true -
JWT_SECRET:change_me
Контейнеры Docker и их развертывание¶
Развертывание состоит из двух основных контейнеризованных компонентов: сервера приложения и обратного прокси-сервера.
Контейнер ONLYOFFICE Document Server¶
Контейнер приложения управляется напрямую через команды Docker. Он слушает порт 80 внутри контейнера и связан с портом 8080 на интерфейсе localhost хост-машины.
Контейнер Nginx и Certbot¶
Обратный прокси-сервер и управление SSL-сертификатами обрабатываются стеком Docker Compose, расположенным в /root/nginx. Стек включает:
-
Сервис:
nginx -
Образ:
jonasal/nginx-certbot:latest -
Политика перезапуска:
unless-stopped -
Режим сети:
host -
Тома:
-
nginx_secretsсмонтирован в/etc/letsencryptдля хранения сертификатов. -
/data/nginx/user_conf.dсмонтирован в/etc/nginx/user_conf.dдля пользовательских конфигураций. -
Окружение:
-
CERTBOT_EMAIL:hkadm@hostkey.com -
Конфигурация загружается из
/data/nginx/nginx-certbot.env.
Прокси-серверы¶
В развертывании используется Nginx в качестве обратного прокси-сервера для обработки внешнего трафика и завершения SSL-соединения. Прокси настроен на пересылку запросов во внутренний контейнер ONLYOFFICE Document Server.
-
Цель прокси:
http://127.0.0.1:8080 -
Файл конфигурации:
/data/nginx/user_conf.d/only-docs<Server ID>.hostkey.in.conf -
Управление SSL: Автоматизировано через контейнер
jonasal/nginx-certbotс использованием Let's Encrypt. -
Внешний порт: 443 (HTTPS)
-
Внутренний путь:
/ -
Внешний путь:
/
Права доступа и безопасность¶
Приложение защищено следующими мерами:
-
Контейнер ONLYOFFICE Document Server связан только с интерфейсом localhost (
127.0.0.1), что предотвращает прямой внешний доступ к порту приложения. -
Весь внешний трафик маршрутизируется через обратный прокси-сервер Nginx, который обеспечивает использование HTTPS на порту 443.
-
В контейнере приложения включена аутентификация JWT (
JWT_ENABLED: true). -
Каталог конфигурации Nginx и файлы Compose принадлежат пользователю
rootс ограниченными правами доступа.
Доступные порты для подключения¶
В развертывании используются следующие порты:
-
Порт 443: Внешний доступ HTTPS через обратный прокси-сервер Nginx.
-
Порт 8080: Внутренний доступ HTTP для контейнера ONLYOFFICE Document Server (связан только с
127.0.0.1). -
Порт 80: Внутренний порт внутри контейнера ONLYOFFICE Document Server (отображен на порт хоста 8080).
Запуск, остановка и обновление¶
Управление службами выполняется с использованием команд Docker и Docker Compose.
Управление контейнером ONLYOFFICE Document Server¶
-
Запуск/Перезапуск:
docker start onlyoffice-docsилиdocker restart onlyoffice-docs -
Остановка:
docker stop onlyoffice-docs -
Обновление: Загрузите новый образ и пересоздайте контейнер:
Управление стеком прокси-сервера Nginx¶
-
Запуск/Перезапуск:
-
Остановка:
-
Обновление: Загрузите последний образ и перезапустите стек: