Устранение возможных неполадок в ONLYOFFICE Docs для Docker
Перед обращением в службу поддержки: сбор диагностической информации
Если вы столкнулись с проблемой, которая не описана ниже, соберите следующие сведения, прежде чем обращаться в службу поддержки ONLYOFFICE:
-
Журналы контейнера:
sudo docker logs <CONTAINER_ID> -
Версия контейнера:
sudo docker inspect --format='{{.Config.Image}}' <CONTAINER_ID> -
Список подключенных томов:
sudo docker inspect --format='{{range .Mounts}}{{.Source}} -> {{.Destination}}{{"\n"}}{{end}}' <CONTAINER_ID> -
Версия ОС хоста и Docker:
uname -a && docker --version
Установка и системные требования
Вопрос: Я хочу установить Docker-версию на своем локальном сервере. Как это сделать?
Ответ: Последняя Docker-версия онлайн-офиса доступна в Docker hub. Выберите ONLYOFFICE Docs и следуйте инструкциям по установке.
Вопрос: Какая нужна система для установки серверного решения и успешной работы с ним?
Ответ: Требования к системе таковы:
- Процессор: двухъядерный с тактовой частотой 2 ГГц или лучше
- Оперативная память: не менее 4 ГБ
- Жесткий диск: не менее 20 ГБ свободного места
- SWAP: не менее 4 ГБ, но это зависит от ОС хоста. Чем больше, тем лучше
- ОС: amd64/arm64, любая версия, поддерживаемая командой Docker
Сеть и DNS
Вопрос: Я установил одну из серверных версий с помощью сервиса Docker, но возникают проблемы с DNS-сервером или разрешением собственного имени. Что может быть не так?
Ответ: В Docker по умолчанию указаны DNS-серверы Google, и сервер пытается обращаться к ним при любом сетевом запросе. Если ваш ONLYOFFICE Docs не будет иметь доступа в Интернет, рекомендуется изменить заданный в Docker по умолчанию адрес DNS-сервера на адрес вашего локального DNS-сервера. Для этого откройте файл /etc/default/docker и замените IP-адрес в следующей строке на IP-адрес DNS-сервера в вашей локальной сети:
docker_OPTS="--dns 8.8.8.8"
Для операционных систем на основе RPM, например, CentOS, файл конфигурации может находиться здесь: /etc/docker/daemon.json
Вопрос: Редакторы документов открываются, появляется интерфейс, но не загружается сам документ, все время показывая ход загрузки. Что можно сделать?
Ответ: Возможно, дело в том, что компьютер должен иметь возможность обращаться к самому себе по внешнему IP, то есть он должен быть доступен извне для самого себя. Это можно разрешить, указав в iptables правила перенаправления следующего вида:
iptables -t nat -A PREROUTING -d <public_ip> -j DNAT --to-destination <local_ip>
iptables -t nat -A POSTROUTING -s <local_ip> -j SNAT --to-source <public_ip>
Не забудьте заменить адреса public_ip и local_ip реальными IP-адресами.
Аутентификация и безопасность
Вопрос: После интеграции ONLYOFFICE Docs с моей платформой не проходит JWT-аутентификация. Как это исправить?
Ответ: Убедитесь, что секретный ключ JWT, заданный в ONLYOFFICE Docs, в точности совпадает с секретным ключом, указанным в настройках коннектора вашей платформы. Также проверьте, совпадает ли имя заголовка JWT (по умолчанию «Authorization»). Распространенные ошибки:
-
Пробелы в начале или в конце значения секретного ключа.
-
Использование случайного секретного ключа по умолчанию вместо собственного. Проверить секретный ключ можно с помощью команды:
sudo docker exec <CONTAINER_ID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json services.CoAuthoring.secret.session.string
Производительность и использование ресурсов
Вопрос: ONLYOFFICE Docs использует много памяти. Это нормально?
Ответ: Объем используемой памяти растет с числом открытых документов и одновременно работающих пользователей. Для сервера с несколькими десятками активных пользователей нормальным считается использование 2–4 ГБ оперативной памяти. Если потребление памяти неожиданно высокое, проверьте, нет ли зависших или забытых документов в папке /var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten/.
Вопрос: Контейнер постоянно перезапускается. Что делать?
Ответ: Найдите в журналах контейнера конкретную ошибку:
sudo docker logs <CONTAINER_ID>
Распространенные причины:
- Недостаточно памяти (контейнеру требуется не менее 4 ГБ оперативной памяти).
- Порт 80 уже занят другим приложением. Остановите это приложение или измените порт ONLYOFFICE Docs.
- Сбой инициализации базы данных. Если вы используете внешнюю базу данных, проверьте правильность параметров подключения.
Обработка документов
Вопрос: Не удается преобразовать документ (например, при открытии файлов DOC, XLS или PPT появляется ошибка). Что можно сделать?
Ответ: Проверьте журнал конвертера на наличие ошибок, выполнив следующую команду:
sudo docker exec <CONTAINER_ID> cat /var/log/onlyoffice/documentserver/converter/out.log
Распространенные причины — нехватка места на диске и отсутствие нужных шрифтов.
Вопрос: При остановке ONLYOFFICE Docs произошла потеря данных. Как избежать потери данных?
Ответ: Из-за особенности работы ONLYOFFICE Docs сохраняет документ только после того, как все пользователи, редактирующие его, закрыли документ. Чтобы избежать потери данных, при необходимости остановить ONLYOFFICE Docs в случаях обновления приложения, перезагрузки сервера и т.п. необходимо принудительно отключить пользователей ONLYOFFICE Docs. Для этого на сервере, где установлен ONLYOFFICE Docs, выполните следующий скрипт:
sudo docker exec <CONTAINER> documentserver-prepare4shutdown.sh
Выполнение скрипта может занять продолжительное время (до 5 минут), так как он ожидает отключения всех пользователей.
Кэш и настройка
Вопрос: Я добавил пользовательскую тему интерфейса или обновил языковые файлы редактора (исправил некоторые переводы), но сервер по-прежнему показывает прежние значения вместо правильных. Как сбросить кэш сразу для всех пользователей?
Ответ: Принудительно очистите кэш, выполнив следующую команду:
sudo docker exec <CONTAINER_ID> documentserver-flush-cache.sh
Кэш будет сброшен для всех пользователей сервера.
Обратите внимание, что при установке в Docker все действия необходимо выполнять внутри контейнера.
Проблемы в Enterprise Edition и Developer Edition
Вопрос: Появляется предупреждение «License expired». Что делать?
Ответ: Срок действия вашего файла license.lic истек. Чтобы продлить лицензию, напишите на адрес sales@onlyoffice.com. Получив новый файл, замените им старый файл license.lic в каталоге данных и перезапустите ONLYOFFICE Docs.
Вопрос: Не удается открыть Admin Panel. Что делать?
Ответ: Если вы еще не настроили Admin Panel, следуйте руководству по настройке Admin Panel. Если вы забыли пароль администратора, удалите запись passwordHash из файла runtime.json и выполните перезапуск — будет сгенерирован новый код начальной настройки (bootstrap code).