Установка ONLYOFFICE Docs в Docker

ONLYOFFICE Docs — это набор веб‑просмотрщиков и совместных редакторов для текстов, таблиц и презентаций с высокой совместимостью форматов OOXML. Решение распространяется как open source под лицензией GNU AGPL v3.0. ONLYOFFICE Docs можно интегрировать с Nextcloud, ownCloud, Seafile, Alfresco, HumHub, Plone и другими облачными платформами, а также в кастомные решения. Вместе с ONLYOFFICE Groups (Apache 2.0) оно образует полнофункциональную платформу ONLYOFFICE Workspace.
В этом руководстве показано, как установить ONLYOFFICE Docs в Docker и выполнить базовую настройку безопасности и сохранения данных.
Что нового в ONLYOFFICE Docs 6.1
- Поддержка сносок в конце раздела или документа.
- Перекрёстные ссылки на таблицы, диаграммы, закладки и другие элементы.
- Нумерация строк для ссылок на конкретные строки.
- Удобная работа с данными диаграмм: редактирование и перестановка рядов и категорий, смена строк и столбцов.
- Новые опции проверки для автозамены математических выражений.

Требования к системе
- CPU: двухъядерный процессор 2 ГГц или мощнее
- ОЗУ: 4 ГБ или больше
- Место на диске: минимум 2 ГБ свободного пространства
- Swap: минимум 2 ГБ
- Операционная система: 64‑бит Ubuntu с ядром 3.8 или новее
- Docker: версия 1.10 или новее
Важно: требования зависят от нагрузки и количества одновременных пользователей. Для продакшн‑развёртывания планируйте ресурсы с запасом.
Установка ONLYOFFICE Docs
Убедитесь, что у вас установлена последняя версия Docker. Если Docker не установлен или устарел, обновите его по официальной документации Docker.
Запустите Docker и выполните команду ниже, чтобы установить ONLYOFFICE Docs и все необходимые зависимости:
sudo docker run -i -t -d -p 80:80 --restart=always onlyoffice/documentserverПосле этого сервис будет доступен по порту 80 на хосте.
Изменение порта
По умолчанию ONLYOFFICE Docs слушает порт 80. Если вы хотите использовать другой порт, замените
sudo docker run -i -t -d -p :80 --restart=always onlyoffice/documentserver Примечание: если порт на хосте занят, выберите свободный порт и откройте его в фаерволе.
Хранение данных вне контейнера
Рекомендуется хранить логи, сертификаты, кэш и базы данных на хосте, а не внутри контейнера. Это упростит обновление контейнера без потери данных.
Чтобы подключить папки с хоста, используйте опцию -v в команде docker run:
sudo docker run -i -t -d -p 80:80 --restart=always \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
-v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql onlyoffice/documentserverСовет: делайте резервные копии папок /app/onlyoffice/DocumentServer/* перед обновлением.
Запуск ONLYOFFICE Docs через HTTPS
Простой пример запуска контейнера на HTTPS-порту 443:
sudo docker run -i -t -d -p 443:443 --restart=always \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserverДля защиты через SSL создайте и установите следующие файлы:
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crtПри использовании сертификата от доверенного центра (CA) эти файлы предоставляет CA. Для самоподписанного сертификата сгенерируйте их самостоятельно.
Чтобы создать самоподписанный сертификат, действительный 365 дней, выполните:
openssl genrsa -out onlyoffice.key 2048
openssl req -new -key onlyoffice.key -out onlyoffice.csr
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crtРекомендуется сгенерировать более сильные DHE‑параметры:
openssl dhparam -out dhparam.pem 2048После этого установите файлы на сервер:
mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.keyПерезапустите контейнер:
sudo docker restart {{DOCUMENT_SERVER_ID}}Совет: используйте сертификаты от доверенных CA для публичных инсталляций. Самоподписанные сертификаты удобно применять для тестовых сред или в локальных сетях.
Переменные окружения через файл
Вместо длинной строки docker run можно использовать флаг –env-file и хранить все переменные в файле. Это упрощает повторяемость и автоматизацию развёртываний.
Практические рекомендации по безопасности
- Используйте HTTPS везде, где есть внешние пользователи.
- Применяйте сертификаты от CA для публичных сервисов.
- Ограничьте доступ к административным портам через брандмауэр.
- Регулярно обновляйте Docker и образы ONLYOFFICE.
- Храните данные и бэкапы вне контейнера.
Чеклист для установки (роль: системный администратор)
- Установлен Docker последней стабильной версии
- Забронированы порты и открыты в фаерволе (80/443 или кастомные)
- Настроено хранение данных на хосте (volume‑маппинг)
- Сгенерированы и установлены SSL‑файлы
- Настроен мониторинг и логирование
- Создан план обновления и резервного копирования
Критерии приёмки
- ONLYOFFICE доступен по ожидаемому порту и адресу
- Редактор открывает документы в форматах .docx, .xlsx, .pptx
- Сертификат корректно валидируется в браузере (для CA)
- Логи пишутся в указанные каталоги на хосте
- После перезапуска контейнера данные сохраняются
Тесты и приёмо‑сдаточные проверки
- Открыть документ .docx и внести правку — сохранить и проверить синхронизацию.
- Открыть таблицу .xlsx с диаграммой и изменить данные ряда.
- Подключить к Nextcloud/ownCloud и создать совместный документ.
- Проверить загруженность CPU и памяти под ожидаемой пользовательской нагрузкой.
Быстрое руководство по отладке
- Контейнер не стартует: проверьте логи docker — docker logs
- Проблемы с SSL: убедитесь, что onlyoffice.crt и onlyoffice.key корректны и права установлены (chmod 400)
- Нет доступа к порту: проверьте настройки брандмауэра и соответствие портов в docker run
Когда этот подход не подходит
- Если ваша инфраструктура запрещает использование Docker — используйте нативное развёртывание или VM.
- Для массовых многопользовательских deployments на высокой нагрузке может потребоваться кластеризация и отдельная СУБД.
Принятия решений по сертификатам (схема)
flowchart TD
A[Нужно публичное соединение?] -->|Да| B[Использовать CA сертификат]
A -->|Нет| C[Можно использовать самоподписанный сертификат]
B --> D[Установить onlyoffice.crt и onlyoffice.key]
C --> D
D --> E[Генерация dhparam.pem для усиления безопасности]Краткий глоссарий в одну строку
- Docker — система контейнеризации приложений.
- Volume — монтируемая директория хоста в контейнер.
- CA — центр сертификации, выдающий доверенные SSL‑сертификаты.
Итог
ONLYOFFICE Docs в Docker — быстрый способ получить редакторы документов с совместной работой. Для продакшн‑использования рекомендуются: хранение данных на хосте, HTTPS с сертификатом от CA, регулярные обновления и бэкапы. Следуйте чеклисту и проверкам приёмки перед открытием сервиса внешним пользователям.
Важно: перед развёртыванием в продакшн протестируйте поведение под нагрузкой и настройте мониторинг.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента