Пошаговая инструкция · Самостоятельная установка
Как установить 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-docspwd показывает /opt/onlyoffice-docs.
Шаг 3. Создайте постоянный ключ JWT #
JWT_SECRET — общий секрет редактора и коннектора Nextcloud. Создадим его один раз и сохраним в .env вместе с вашим доменом и почтой для сертификата. Менять секрет при каждом запуске нельзя: коннектор перестанет работать.
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 запускает контейнер в фоне. Данные берутся из каталогов текущей установки; команда не удаляет их.
sudo docker compose up -dКонтейнер создан. Перейдите к проверке, не перезапускайте его во время первого запуска.
Шаг 8. Дождитесь готовности HTTPS #
ps показывает состояние контейнера, logs — ход запуска, healthcheck — готовность редактора. Сертификат выпускается для домена из .env; DNS и доступный порт 80 нужны для проверки владения.
sudo docker compose ps
sudo docker compose logs --tail=100 documentserver
curl -fsS https://docs.example.com/healthcheckhealthcheck возвращает 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Редактирование снова работает; назначены регулярные копии и проверка их восстановления.
Если результат шага отличается #
Вернитесь к проверке того шага, на котором появилась ошибка. Первая ошибка в выводе обычно полезнее последних строк: последующие команды могли не получить нужный файл или работающую службу. Не повторяйте установку целиком поверх частично настроенного приложения.
Если страница не открывается, сначала проверьте домен и входящие порты, затем состояние приложения и его журнал. Если сайт открывается, но отдельное действие не работает, проверьте связанные компоненты — обработчик фоновых задач, почту или права пользователя. Официальные источники в конце статьи относятся к выбранному способу установки.