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

Обзор развертывания 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.

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

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

  1. Подготовка системы: Установка необходимых системных утилит (git, curl, ca-certificates) и настройка репозиториев Docker.

  2. Установка среды выполнения: Установка Docker Engine, Docker Compose Plugin и сопутствующих компонентов (containerd.io, docker-buildx-plugin).

  3. Развертывание файлов приложения:

  4. Клонирование репозитория ONLYOFFICE/Docker-CommunityServer.

  5. Создание конфигурационного файла docker-compose.yml на основе шаблона.

  6. Инициализация базы данных: Создание SQL-скрипта для автоматического создания баз данных onlyoffice и onlyoffice_mailserver, а также настройка пользователей с соответствующими правами доступа.

  7. Запуск контейнеров: Последовательный запуск сервисов (сначала база данных, затем остальные компоненты).

  8. Настройка прокси-сервера: Развертывание стека 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).

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

Для обновления основного приложения необходимо:

  1. Перейти в директорию /opt/Docker-CommunityServer.

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

    docker compose pull && docker compose up -d
    

Расположение конфигурационных файлов и данных

Тип данных Путь / Имя тома
Конфигурация 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

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