Интеграция ONLYOFFICE Docs со Strapi

ONLYOFFICE Docs — это открытый офисный пакет с веб‑просмотрщиками и совместными редакторами для текстов, таблиц, презентаций, заполняемых форм и PDF. Формат ядра — OOXML (DOCX, XLSX, PPTX). Решение распространяется под GNU AGPL v3.0.
Strapi — это open‑source CMS на Node.js для создания цифровых продуктов и доставки контента на сайты и приложения. При интеграции с ONLYOFFICE Docs вы сможете открывать, редактировать и совместно править документы прямо в интерфейсе Strapi.
Важно: ONLYOFFICE совместим с Strapi версии 4.0 и выше.
Что понадобится
- Сервер или машина с Docker для запуска ONLYOFFICE Document Server.
- Проект Strapi (v4+) с правами администратора для установки плагина и правки конфигурации.
- Базовые навыки работы с терминалом и npm/yarn.
Шаг 1: Установите ONLYOFFICE Docs
Рекомендуемый способ — через Docker. Команда запускает последний образ Document Server и выставляет порт 8080:
sudo docker run -i -t -d -p 8080:80 --restart=always onlyoffice/documentserverПодробные инструкции по установке доступны в официальных гайдах и на ресурсах сообщества. Если требуется установка на Ubuntu для 64‑битной ARM‑архитектуры — используйте отдельную инструкцию по ARM.
Важно: при деплое в production учитывайте резервное копирование, SSL (TLS) и управление обновлениями контейнера.
Шаг 2: Установите интеграционный плагин в Strapi
Чтобы редактор мог загружать скрипты и открываться в iframe, нужно скорректировать политику Content Security Policy в файле middlewares Strapi.
Откройте файл strapi/config/middlewares.js и замените или дополните секцию strapi::security так, чтобы разрешить загрузку скриптов и iframe из ваших адресов:
{
name: "strapi::security",
config: {
contentSecurityPolicy: {
useDefaults: true,
directives: {
"script-src": ["'self'", "https:", "http:"],
"frame-src": ["'self'", "https:", "http:"],
},
},
},
},Если конфигурация уже есть — добавьте только директивы script-src и frame-src.
Установите плагин ONLYOFFICE для Strapi в корне проекта:
npm install onlyoffice-strapi --saveПосле установки перестройте административный интерфейс и перезапустите Strapi:
# использование yarn
yarn build
yarn develop# использование npm
npm run build
npm run developПлагин также доступен в официальном маркетплейсе Strapi.
Шаг 3: Настройте плагин в Strapi
Откройте панель Strapi: Settings -> Global settings -> ONLYOFFICE.
Укажите параметры:
- Document server address — URL вашего ONLYOFFICE Document Server (например, https://docs.example.com или http://localhost:8080).
- Document server JWT secret — секретный ключ для JWT, который защищает документы от неавторизованного доступа. Этот же секрет нужно прописать в конфигурации ONLYOFFICE Document Server.

Советы по конфигурации:
- Для production используйте HTTPS и валидный сертификат.
- Храните JWT‑секрет в защищённом хранилище (переменные окружения, секреты провайдера).
- Если Document Server не на том же домене, убедитесь, что CORS и CSP разрешают соединение.
Шаг 4: Использование редактора в Strapi
Файлы DOCX, XLSX и PPTX, загруженные в Media Library Strapi, можно просматривать, редактировать и совместно править прямо из интерфейса. Откройте 파일 на странице ONLYOFFICE внутри Strapi — редактор запускается по клику на имя файла или по действию Edit in ONLYOFFICE.

Права доступа:
- Открытие на редактирование: роль пользователя должна иметь права Update (crop, details, replace) и delete.
- Открытие на просмотр: роль пользователя должна иметь право Access the Media Library.
Доступные функции совместной работы:
- Режимы реального времени и блокировки абзацев.
- Отслеживание изменений (Track Changes).
- Комментирование и встроенный чат.
- Аудио/видеозвонки через плагин Jitsi (устанавливается отдельно).
Проверка работоспособности и методология теста
Мини‑методология (шаги тестирования):
- Убедитесь, что Document Server отвечает на адресе (curl https://ваш‑документ‑сервер).
- В Strapi заполните настройки ONLYOFFICE и сохраните.
- Загрузите тестовый DOCX в Media Library.
- Попробуйте открыть файл на просмотр и на редактирование разными ролями.
- Проверьте совместное редактирование с двумя браузерами и экспорт файла.
Критерии приёмки:
- Редактор открывается без ошибок и без блокировок CSP.
- Редактирование синхронизируется между сессиями в реальном времени.
- JWT проверяется (если включён): запросы с неверным секретом блокируются.
Ролевые чек‑листы
Администратор:
- Установить и запустить Document Server (Docker).
- Настроить HTTPS и брандмауэр.
- Прописать JWT секрет и убедиться в его безопасности.
Разработчик Strapi:
- Обновить middlewares.js и добавить CSP директивы.
- Установить onlyoffice-strapi и перестроить админку.
- Протестировать CORS и интеграцию.
Редактор/Контент‑менеджер:
- Загрузить файлы в Media Library.
- Провести тест редактирования и комментариев.
- Сообщать об ошибках администратору.
Когда интеграция может не подойти
- У вас строгие политики безопасности, запрещающие внешние iframe или скрипты без тщательной проверки.
- Требуется полностью оффлайн‑решение без доступа к внешним сервисам.
- Предпочтение отдано другим редакторам (Collabora/LibreOffice Online) из‑за лицензионных или функциональных требований.
Альтернативные подходы
- Встраивание редактора через собственный бекэнд‑проксирование запросов к Document Server.
- Использование других open‑source редакторов (Collabora Online) если нужен LibreOffice‑совместимый движок.
- Генерация и редактирование через серверные конвертации без интерактивного веб‑редактора.
Безопасность и соответствие требованиям конфиденциальности
- Всегда включайте JWT между Strapi и ONLYOFFICE для защиты ссылок на документы.
- Настройте HTTPS для Document Server и Strapi.
- Для обработки персональных данных продумайте политику хранения и удаления файлов (GDPR): срок хранения, журнал доступа, права пользователя.
Совместимость и миграция
- ONLYOFFICE официально поддерживает Strapi v4.0 и выше.
- При миграции Strapi с v3 на v4 проверьте совместимость плагинов и API.
- Перед массовым переносом файлов протестируйте рабочий процесс на стенде.
Глоссарий (одно предложение на термин)
- Document Server — сервер, где выполняются рендер и совместное редактирование документов.
- JWT — JSON Web Token, механизм передачи и проверки подписанных токенов для аутентификации запросов.
- Media Library — встроенная в Strapi библиотека для управления файлами и медиа.
Итог
После выполнения шагов вы получите интегрированное решение, где контент‑менеджеры могут создавать и править офисные документы прямо в Strapi с возможностью совместной работы. Проведите тесты с разными ролями и настройте безопасность (JWT, HTTPS) перед релизом.
Важно: если появятся ошибки, первым делом проверьте логи Document Server и консоль браузера на предмет CSP/CORS и ошибок загрузки скриптов.
Ключевые ссылки и дальнейшие шаги:
- Документация ONLYOFFICE для продакшн‑деплоя.
- Документация Strapi по плагинам и middlewares.
Заметка: плагин Jitsi для звонков устанавливается отдельно и требует дополнительной настройки.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone