Удельта

Пошаговая инструкция · Самостоятельная установка

Как установить ONLYOFFICE Docs на сервер и подключить редакторы

Пошаговая инструкция для самостоятельной установки. Установим сервер редакторов ONLYOFFICE Docs с HTTPS и постоянным секретом JWT, подключим его к файловой системе и проверим, что совместные изменения сохраняются в исходном документе.

Совместное редактирование одного документа с подключённым редакторским сервером и сохранением файла

Что подготовить и как читать инструкцию #

ONLYOFFICE Docs открывает и редактирует документы, но сам по себе не создаёт корпоративное файловое хранилище. Файлы остаются в Nextcloud или другой подключённой системе, а сервер редакторов получает их на время работы и возвращает результат. Поэтому до установки определите, к чему подключаете редакторы и где будут храниться оригиналы. Варианты использования есть на странице ONLYOFFICE Docs.

В статье устанавливается бесплатная Community Edition 9.4.0 из официального образа. Для небольшой команды начните с 4 vCPU, 8 ГБ RAM и SSD от 60 ГБ; это оценка под совместную работу, а не гарантированное число открытых документов. Точный выбор и ограничения редакции разберите в статье о сервере ONLYOFFICE. Конвертация сложных таблиц и презентаций может расходовать заметно больше памяти, чем редактирование коротких текстов.

Команды выполняйте в терминале сервера после подключения по SSH, если шаг не указывает другое место. sudo даёт команде права администратора. Действия в браузере выполняйте на своём компьютере. Домены, IP-адреса и значения ВАШ_ПАРОЛЬ из примеров заменяйте своими до выполнения команды.

Двигайтесь по одному шагу и проверяйте результат перед следующим. Блок с <<EOF или другим именем завершения копируйте целиком: он записывает содержимое одного файла. При работе в nano сохраняйте файл клавишами Ctrl+O, Enter и выходите Ctrl+X. Если прервали SSH-сеанс, снова перейдите в указанный каталог; переменные предыдущего сеанса потребуется задать заново.

Шаг 1. Проверьте домен редактора #

ONLYOFFICE редактирует документы, но файлы и учётные записи будут храниться в Nextcloud или другой подключённой системе. Направьте docs.example.com на публичный IP сервера. В этом варианте сам контейнер занимает 80/443: контейнер включает собственный Nginx и управление сертификатом, дополнительный Nginx на хосте не устанавливаем.

Проверьте домен редактора
getent ahostsv4 docs.example.com
sudo ss -lntp

Имя возвращает IP редактора. Порты 80/443 свободны и доступны снаружи.

Шаг 2. Создайте каталог установки #

В /opt/onlyoffice-docs будут конфигурация и постоянные данные. Перейдите в него; команды Compose ниже выполняются отсюда.

Создайте каталог установки
sudo install -d -o "$USER" -g "$(id -gn)" -m 750 /opt/onlyoffice-docs
cd /opt/onlyoffice-docs

pwd показывает /opt/onlyoffice-docs.

Шаг 3. Создайте постоянный ключ JWT #

JWT_SECRET — общий секрет редактора и коннектора Nextcloud. Создадим его один раз и сохраним в .env вместе с вашим доменом и почтой для сертификата. Менять секрет при каждом запуске нельзя: коннектор перестанет работать.

Создайте постоянный ключ JWT
umask 077
printf 'DOCS_DOMAIN=docs.example.com
LE_EMAIL=admin@example.com
JWT_SECRET=%s
' "$(openssl rand -hex 32)" > .env

В .env заполнены три значения, JWT_SECRET не пуст; файл не передавайте посторонним.

Шаг 4. Подготовьте постоянные каталоги #

Контейнер можно пересоздать, но каталоги data, lib и logs должны оставаться. Ограничим чтение файла с JWT.

Подготовьте постоянные каталоги
mkdir -p data lib logs
chmod 600 .env

Три каталога существуют, права .env — 600.

Шаг 5. Сохраните описание контейнера #

Откройте nano compose.yaml в текущем каталоге и вставьте YAML ниже. environment передаёт параметры из .env, volumes сохраняет состояние вне контейнера. Сохраняйте отступы: они определяют структуру YAML.

Сохраните описание контейнера
services:
  documentserver:
    image: onlyoffice/documentserver:9.4.0
    restart: unless-stopped
    environment:
      JWT_ENABLED: "true"
      JWT_SECRET: ${JWT_SECRET:?Set JWT_SECRET in .env}
      LETS_ENCRYPT_DOMAIN: ${DOCS_DOMAIN}
      LETS_ENCRYPT_MAIL: ${LE_EMAIL}
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./data:/var/www/onlyoffice/Data
      - ./lib:/var/lib/onlyoffice
      - ./logs:/var/log/onlyoffice

Описан DocumentServer 9.4.0; включён JWT и сохранены оба порта HTTPS-сценария.

Шаг 6. Загрузите образ редактора #

pull скачивает готовую программу, но не запускает её. Первый запуск потребует несколько минут и достаточно свободной памяти.

Загрузите образ редактора
cd /opt/onlyoffice-docs
sudo docker compose pull

Образ загружен без ошибки скачивания.

Шаг 7. Запустите DocumentServer #

up -d запускает контейнер в фоне. Данные берутся из каталогов текущей установки; команда не удаляет их.

Запустите DocumentServer
sudo docker compose up -d

Контейнер создан. Перейдите к проверке, не перезапускайте его во время первого запуска.

Шаг 8. Дождитесь готовности HTTPS #

ps показывает состояние контейнера, logs — ход запуска, healthcheck — готовность редактора. Сертификат выпускается для домена из .env; DNS и доступный порт 80 нужны для проверки владения.

Дождитесь готовности HTTPS
sudo docker compose ps
sudo docker compose logs --tail=100 documentserver
curl -fsS https://docs.example.com/healthcheck

healthcheck возвращает true. Если нет, проверьте журнал, домен и свободные порты.

Шаг 9. Установите коннектор в Nextcloud #

В браузере администратора Nextcloud откройте каталог приложений и установите официальный коннектор ONLYOFFICE. Сам редактор не создаёт файловое облако: коннектор соединяет два сервиса.

В административных настройках Nextcloud появился раздел ONLYOFFICE.

Шаг 10. Соедините два сервера #

В настройках коннектора укажите https://docs.example.com/ и тот же JWT_SECRET из .env. Сохраните настройки. Браузер, Nextcloud и редактор должны достигать нужных адресов; доступность только с вашего ноутбука недостаточна.

Проверка соединения успешна. Ошибки JWT исправляйте сравнением секретов; ошибки сертификата — настройкой доверенного HTTPS.

Шаг 11. Откройте первый документ #

Под обычным пользователем загрузите DOCX в Nextcloud и откройте его через редактор. Добавьте строку, закройте документ, дождитесь сохранения и откройте снова.

Изменение осталось после повторного открытия; исходный файл по-прежнему хранится в Nextcloud.

Шаг 12. Проверьте второго участника #

Поделитесь документом со второй учётной записью с правом редактирования. Откройте его одновременно на двух устройствах. Отдельно проверьте пользователя только с правом чтения.

Изменения видны обоим редакторам; читатель не может менять документ.

Шаг 13. Проверьте ресурсы при работе #

Эти команды пригодятся, если документ открывается медленно или контейнер завершается. OOMKilled=true означает нехватку памяти. Одной проверки стартовой страницы недостаточно.

Проверьте ресурсы при работе
cd /opt/onlyoffice-docs
sudo docker compose ps
sudo docker compose logs --since=15m documentserver
sudo docker stats --no-stream
sudo docker inspect --format '{{.State.OOMKilled}}' "$(sudo docker compose ps -q documentserver)"

Нет повторяющихся рестартов и OOMKilled=true. Если памяти мало, уменьшите нагрузку или увеличьте RAM.

Шаг 14. Завершите редактирование перед копией #

Предупредите пользователей о перерыве. prepare4shutdown ждёт сохранения открытых документов; затем остановите DocumentServer. Nextcloud резервируется своей отдельной процедурой.

Завершите редактирование перед копией
cd /opt/onlyoffice-docs
sudo docker compose exec -T documentserver documentserver-prepare4shutdown.sh
sudo docker compose stop documentserver

Редактор остановлен после сохранения документов; новые сессии редактирования не начинаются.

Шаг 15. Скопируйте установку редактора #

Создадим закрытый архив настроек, JWT и постоянных каталогов. Эта копия не заменяет резервную копию файлового хранилища Nextcloud.

Скопируйте установку редактора
sudo install -d -m 700 /var/backups/onlyoffice-docs
sudo tar -czf /var/backups/onlyoffice-docs/installation.tar.gz \
  -C /opt/onlyoffice-docs .env compose.yaml data lib logs
sudo chmod 600 /var/backups/onlyoffice-docs/installation.tar.gz

Архив существует и защищён правами 600. Перенесите его на другой сервер.

Шаг 16. Возобновите работу и запланируйте восстановление #

Запустите редактор, откройте тестовый документ ещё раз. Для проверки восстановления верните архив в /opt/onlyoffice-docs на отдельном сервере той же версии и переподключите тестовый коннектор. Секрет и данные должны восстанавливаться вместе.

Возобновите работу и запланируйте восстановление
sudo docker compose start documentserver

Редактирование снова работает; назначены регулярные копии и проверка их восстановления.

Если результат шага отличается #

Вернитесь к проверке того шага, на котором появилась ошибка. Первая ошибка в выводе обычно полезнее последних строк: последующие команды могли не получить нужный файл или работающую службу. Не повторяйте установку целиком поверх частично настроенного приложения.

Если страница не открывается, сначала проверьте домен и входящие порты, затем состояние приложения и его журнал. Если сайт открывается, но отдельное действие не работает, проверьте связанные компоненты — обработчик фоновых задач, почту или права пользователя. Официальные источники в конце статьи относятся к выбранному способу установки.

Обсудить установку и настройку

Материал был полезен?

Сообщить об ошибке или задать вопрос редакции

Сообщение увидит редакция. Не указывайте пароли и личные данные. Текст удаляется через 180 дней.

О материале

ИнфраструктураРуководствоЗадача: установитьУровень: практикаONLYOFFICE Docs

Последнее обновление:

Обсуждение

Комментарии проходят подтверждение адреса и проверку редакцией.