MAATRIX / Блог / OnlyOffice на Ubuntu 24.04: пошаговая установка

OnlyOffice на Ubuntu 24.04: пошаговая установка

MAATRIX

Google Docs и Microsoft 365 удобны, пока не встаёт вопрос, где физически хранятся договоры, финмодели и переписка с клиентами. OnlyOffice Docs — это Word, Excel и PowerPoint в браузере, но документы не покидают ваш сервер: файлы, история версий и совместное редактирование живут там, где вы сами их разместили. Ниже — установка Document Server на Ubuntu 24.04 двумя способами (Docker и системный пакет), настройка HTTPS и то, как подключить его к Nextcloud или собственному приложению.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Что такое OnlyOffice Docs и когда он вообще нужен

OnlyOffice существует в двух ипостасях, и их легко перепутать. Есть десктопный редактор — обычная программа для вашего компьютера, к серверу отношения не имеющая. А есть OnlyOffice Docs (он же Document Server) — веб-сервис, который рендерит и редактирует .docx/.xlsx/.pptx прямо в браузере и который можно встроить в Nextcloud, ownCloud, Moodle, собственное веб-приложение по API или использовать как самостоятельный редактор с общей папкой.

Ставить его на свой сервер имеет смысл в трёх случаях: документы нельзя выгружать во внешние облака (юрдокументы, персональные данные, NDA), команда уже пользуется Nextcloud/ownCloud и хочет редактировать файлы без скачивания, либо вы разрабатываете своё приложение и вам нужен onlyoffice-редактор внутри как компонент через JS API.

Если нужен именно файловый архив с версионированием — начните с Nextcloud, а OnlyOffice поставьте следующим шагом как редактор поверх него — так делает большинство self-hosted команд.

Требования к серверу и что подготовить заранее

Document Server — не лёгкий процесс: под капотом у него набор нод-сервисов (конвертер, docservice, spellchecker), плюс PostgreSQL и RabbitMQ для внутренней очереди задач конвертации. Официальный минимум — 2 vCPU и 4 ГБ RAM для единичного использования; при 15–20 одновременных редактирующих сессиях разработчики рекомендуют закладывать больше памяти и ядер, но точных цифр «пользователь = столько-то МБ» ONLYOFFICE не публикует — тестируйте под свою нагрузку, а не верьте на слово ни им, ни этой статье.

Что понадобится до установки:

  • Ubuntu 24.04 LTS с 4+ ГБ RAM, 2+ vCPU, 20+ ГБ диска под систему и документы;
  • домен или поддомен (например, office.example.com), указывающий A-записью на IP сервера — без него не выпустить нормальный SSL, а совместное редактирование без HTTPS браузеры блокируют по Mixed Content;
  • открытые порты 80 и 443 в фаерволе.

Про сам домен и DNS есть отдельный разбор — настройка домена и DNS с нуля, если ещё не привязали поддомен к серверу.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Установка через Docker Compose — самый предсказуемый путь

Docker-образ — официальный способ, который рекомендует сама ONLYOFFICE, и на практике он меньше всего ломается при обновлениях, потому что вся начинка (PostgreSQL, RabbitMQ, Redis, nginx) уже настроена внутри контейнера.

Ставим Docker, если его ещё нет — подробно это описано в установке Docker с нуля. Дальше создаём рабочий каталог и compose-файл:

mkdir -p /opt/onlyoffice && cd /opt/onlyoffice
nano docker-compose.yml
services:
  onlyoffice-documentserver:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice-documentserver
    restart: always
    ports:
      - "127.0.0.1:8083:80"
    environment:
      - JWT_ENABLED=true
      - JWT_SECRET=замените-на-длинный-случайный-ключ
      - JWT_HEADER=Authorization
    volumes:
      - onlyoffice_data:/var/www/onlyoffice/Data
      - onlyoffice_log:/var/log/onlyoffice
      - onlyoffice_lib:/var/lib/onlyoffice
      - onlyoffice_db:/var/lib/postgresql
      - onlyoffice_fonts:/usr/share/fonts/truetype/custom

volumes:
  onlyoffice_data:
  onlyoffice_log:
  onlyoffice_lib:
  onlyoffice_db:
  onlyoffice_fonts:

Порт контейнера намеренно привязан только к 127.0.0.1 — наружу его откроет системный Nginx с HTTPS, а не сам контейнер по голому 80-му порту. JWT_SECRET сгенерируйте сами, например:

openssl rand -hex 32

Запуск:

docker compose up -d
docker compose logs -f

Первый старт занимает несколько минут — контейнер инициализирует PostgreSQL и RabbitMQ внутри себя. Дождитесь строк вида Started в логах служб supervisord, прежде чем идти дальше.

Установка из официального apt-репозитория — без Docker

Если Docker в инфраструктуре принципиально не используется, ONLYOFFICE ставится и системным пакетом — на Ubuntu 24.04 в поддерживаемых версиях репозитория. Пакет сам подтянет и настроит зависимости: PostgreSQL, RabbitMQ, Redis и внутренний nginx (который слушает 80-й порт под свои нужды).

sudo apt update
sudo apt install -y gnupg2 ca-certificates curl

curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE \
  | sudo gpg --dearmor -o /usr/share/keyrings/onlyoffice.gpg

echo "deb [signed-by=/usr/share/keyrings/onlyoffice.gpg] https://download.onlyoffice.com/repo/debian squeeze main" \
  | sudo tee /etc/apt/sources.list.d/onlyoffice.list

sudo apt update
sudo apt install -y onlyoffice-documentserver

В процессе установки debconf спросит пароль для служебной роли PostgreSQL — задайте его и сохраните в менеджере паролей, он понадобится для бэкапа базы. После установки сервис уже слушает 80-й порт и рендерит тестовую страницу по IP сервера — откройте http://IP-сервера/ и убедитесь, что видите приветственную страницу Document Server, прежде чем настраивать домен.

Плюс этого способа — стандартные systemd-юниты и привычные логи в /var/log/onlyoffice/. Минус — апдейты пакета иногда требуют ручной сверки версий PostgreSQL/RabbitMQ, тогда как Docker-образ несёт всё согласованным пакетом.

HTTPS, домен и Nginx как обратный прокси

Оба способа установки (Docker с портом на localhost и apt-версия, слушающая 80-й напрямую) в проде правильно прятать за системным Nginx с сертификатом Let's Encrypt — совместное редактирование держит постоянное WebSocket-соединение, и браузер откажется работать с ним без валидного TLS на боевом домене.

Если ставили через Docker (контейнер на 127.0.0.1:8083):

server {
    listen 80;
    server_name office.example.com;

    location / {
        proxy_pass http://127.0.0.1:8083;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        client_max_body_size 100m;
    }
}

Если ставили из apt-пакета, встроенный nginx Document Server уже занял 80-й порт под себя — тогда системный Nginx нужно либо перевести на другой внешний порт для проксирования, либо (проще) сразу настроить SSL через Certbot поверх штатного конфига пакета в /etc/onlyoffice/documentserver/nginx/, не поднимая второй nginx поверх первого. Точный сценарий зависит от того, что ещё живёт на сервере — если это выделенная машина только под OnlyOffice, second Nginx не нужен вовсе.

Дальше в обоих случаях — сертификат:

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d office.example.com

Общий разбор, где именно ломается связка Nginx + Let's Encrypt (просроченный сертификат, редирект-петля, неверный конфиг после certbot renew) — в статье про частые ошибки Let's Encrypt SSL.

Подключение к Nextcloud и другим приложениям

Отдельно стоящий Document Server редактирует файлы через прямые ссылки или API, но большинству нужен файловый архив рядом — чаще всего это Nextcloud:

  1. В Nextcloud откройте Приложения → Управление офисными пакетами и установите приложение ONLYOFFICE.
  2. В Настройки → Управление → ONLYOFFICE укажите адрес вашего Document Server: https://office.example.com/.
  3. В поле Секретный ключ вставьте тот же JWT_SECRET, что задан в docker-compose.yml (или в конфиге apt-установки) — без совпадения ключей Nextcloud получит ошибку авторизации при попытке открыть документ.
  4. Нажмите Сохранить — Nextcloud сам проверит соединение и покажет, доступен ли Document Server.

Для собственных веб-приложений интеграция идёт через OnlyOffice API JavaScript — вы отдаёте конфиг с document key, URL файла и callback-адресом, на который Document Server пришлёт готовый файл после сохранения. Это отдельная разработческая задача, а не «поставил и работает» — закладывайте на неё время, если интегрируете в своё приложение, а не в готовый Nextcloud.

Резервное копирование и обновление

Всё ценное в OnlyOffice лежит в двух местах: файлы кэша/шаблонов и база PostgreSQL с метаданными документов и настройками.

Для Docker-установки бэкапьте именованные тома:

docker run --rm -v onlyoffice_onlyoffice_data:/data -v $(pwd):/backup \
  alpine tar czf /backup/onlyoffice-data-$(date +%F).tar.gz -C /data .

docker exec onlyoffice-documentserver \
  pg_dump -U onlyoffice onlyoffice > onlyoffice-db-$(date +%F).sql

Для apt-установки — каталог /var/www/onlyoffice/Data/ и дамп базы через pg_dump onlyoffice. Общий подход к автоматизации регулярных бэкапов на сервере — в статье про автоматические бэкапы Ubuntu 24.04.

Обновление в Docker сводится к смене образа:

docker compose pull
docker compose up -d

Данные и конфигурация сохраняются в томах, миграция схемы БД при необходимости отрабатывает автоматически при старте новой версии — но сначала снимите бэкап, а уже потом обновляйте, а не наоборот. Для apt-пакета — обычный apt update && apt upgrade onlyoffice-documentserver, тоже после бэкапа.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Частые вопросы

Чем OnlyOffice Docs отличается от Collabora Office?

Оба редактируют .docx/.xlsx/.pptx в браузере и интегрируются с Nextcloud. OnlyOffice ближе по интерфейсу и форматированию к настоящему Microsoft Office, Collabora построена на движке LibreOffice. Выбор часто определяется тем, к какому интерфейсу привыкла команда — попробуйте оба на тестовом сервере перед тем как переносить рабочие документы.

Обязательно ли включать JWT?

Формально нет, но без него любой, кто знает адрес вашего Document Server, может дёргать его API без авторизации. На боевом сервере с реальными документами JWT включайте всегда — это одна переменная окружения при установке.

Можно ли использовать OnlyOffice без Nextcloud, отдельно?

Да — есть отдельные Community-редакторы (ONLYOFFICE Workspace) с собственным файловым хранилищем, либо интеграция по API в своё приложение без стороннего файлового бэкенда вообще. Document Server сам по себе — только «движок» рендеринга и совместного редактирования.

Чем Community-редакция отличается от Enterprise?

Community — бесплатная, без официальной поддержки и с ограничением по одновременным подключениям на уровне лицензии редактора (не самого Document Server). Для небольшой команды или личного архива документов Community обычно достаточно.

Поддерживается ли Ubuntu 24.04 официально?

На момент публикации статьи (конец августа 2026) и Docker-образ, и apt-репозиторий работают на Ubuntu 24.04 без дополнительных танцев с зависимостями — но перед продакшен-установкой всегда проверяйте актуальный список поддерживаемых ОС в официальной документации ONLYOFFICE, он время от времени меняется.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →