Гид по технологиям

Обновление ONLYOFFICE Community Server в Docker — пошаговый гид

• 6 min read • DevOps • Обновлено 22 Nov 2025
Обновление ONLYOFFICE Community Server в Docker
Обновление ONLYOFFICE Community Server в Docker

ONLYOFFICE — это открытое решение для совместной работы: онлайн-редакторы документов и набор модулей (почта, CRM, проекты, календарь и сообщество). ONLYOFFICE Community Server распространяется под лицензией GNU AGPL.

Разработчики выпустили новую версию Community Server 9.5 с рядом улучшений и новых функций:

  • Усилена безопасность аутентификации.
  • В CRM: дополнительные отчёты и настройки курса валют; отчёты по закрытым сделкам, прогноз продаж и сводки по активности.
  • В модулях «Проекты»: права доступа групп в приватных проектах и новые массовые действия для задач и вех.
  • Обновлён модуль «Talk» с возможностью удаления загруженных файлов.
  • Добавлены новые языки интерфейса: нидерландский, вьетнамский, турецкий, словацкий, чешский.

Новая версия ONLYOFFICE — интерфейс и список изменений

Шаг 1: Резервная копия данных

Важно: перед обновлением обязательно сделайте резервную копию данных и БД, чтобы избежать потерь.

Если вы при первоначальной установке монтировали папки данных вне контейнера Docker, убедитесь, что у вас сохранены следующие каталоги на хосте:

/app/onlyoffice/CommunityServer/data
/app/onlyoffice/CommunityServer/logs
/app/onlyoffice/CommunityServer/mysql

Если каталоги не были вынесены на хост, скопируйте их из контейнера Community Server на машину-хост:

sudo docker cp {{COMMUNITY_SERVER_ID}}:var/www/onlyoffice/Data /home/user/Backup
sudo docker cp {{COMMUNITY_SERVER_ID}}:var/log/onlyoffice /home/user/Backup
sudo docker cp {{COMMUNITY_SERVER_ID}}:var/lib/mysql /home/user/Backup

Примечание: {{COMMUNITY_SERVER_ID}} — имя или ID контейнера Community Server, а /home/user/Backup — путь к каталогу резервной копии на хосте.

Рекомендуется также сделать дамп базы данных и сохранить его отдельно (особенно если вы не использовали отдельный контейнер MySQL 5.7 ранее):

mysqldump -u root onlyoffice > dumpfile.sql
sudo docker cp {{COMMUNITY_SERVER_ID}}:/dumpfile.sql /home/user/

Сохраните дамп в надёжном месте и убедитесь, что размер и целостность файла соответствуют ожиданиям.

Шаг 2: Удаление текущих контейнера и образа Docker

После успешного бэкапа остановите и удалите текущие контейнеры и образы. Если на хосте запускаются только контейнеры ONLYOFFICE, можно выполнить команды ниже. Внимание: эти команды удаляют все контейнеры/образы, если использовать шаблон из примера.

sudo docker rm -f $(sudo docker ps -aq)
# и удалить образы
sudo docker rmi -f $(sudo docker images -aq)

Совет: перед удалением лучше остановить только относящиеся к ONLYOFFICE контейнеры по именам/ID, чтобы не затронуть другие сервисы на хосте.

Шаг 3: Установка новой версии Community Server

Для установки последней версии рекомендуем использовать официальный скрипт установки, который разворачивает Community Edition через docker-compose:

wget http://download.onlyoffice.com/install/opensource-install.sh
bash opensource-install.sh -md yourdomain.com

Где yourdomain.com — имя хоста/домен, который вы используете для портала и почтового сервера. Если на сервере отсутствует docker-compose, установите его по инструкции с официального сайта Docker перед запуском скрипта.

Шаг 4: Восстановление данных

После установки новой версии скопируйте резервную копию обратно в смонтированные на хосте папки, которые вы указали при установке:

sudo cp -a /home/user/Backup/Data/./app/onlyoffice/CommunityServer/data
sudo cp -a /home/user/Backup/onlyoffice/./app/onlyoffice/CommunityServer/logs

Восстановите дамп базы данных в контейнер MySQL (если вы развернули MySQL в контейнере при установке новой версии):

sudo docker cp /home/user/dumpfile.sql {{MYSQL_SERVER_ID}}:/dumpfile.sql
sudo docker exec -it {{MYSQL_SERVER_ID}} bash
mysql -u root -p onlyoffice < dumpfile.sql

Вам будет предложено ввести пароль root MySQL, указанный при установке (по умолчанию часто используется my-secret-pw, но это зависит от вашей конфигурации). После восстановления выйдите из контейнера командой exit.

Шаг 5: Перезапуск контейнеров

Перезапустите нужные контейнеры:

sudo docker restart {{COMMUNITY_SERVER_ID}} {{MYSQL_SERVER_ID}}

После перезапуска откройте портал в браузере и проверьте, что основные функции работают.

Критерии приёмки

Проверьте следующие пункты, чтобы удостовериться, что обновление прошло успешно:

  • Вход в систему под администратором и обычным пользователем.
  • Доступность всех ключевых модулей: Документы, CRM, Проекты, Talk.
  • Отображение и доступность пользовательских данных (документы, проекты, задачи).
  • Логи контейнера не содержат ошибок уровня ERROR/CRITICAL за первые 10–15 минут после старта.
  • Возможность отправки/приёма почты (если интеграция настроена).

Тесты приёмки (короткие):

  • Открыть/редактировать документ онлайн и сохранить изменения.
  • Создать и закрыть сделку в CRM; проверить отчёты по сделкам.
  • Создать задачу в проекте и выполнить массовое действие «Закрыть».
  • Загрузить файл в Talk и затем удалить его.

План отката (Runbook отката)

Если после обновления возникает критическая проблема, выполните откат по плану:

  1. Остановите новые контейнеры:
sudo docker stop {{COMMUNITY_SERVER_ID}} {{MYSQL_SERVER_ID}}
  1. Удалите новые контейнеры и образы (по имени/ID, а не все подряд).
  2. Восстановите файлы из резервной копии в исходные пути (сохраните текущие в папку с временной меткой).
  3. Восстановите дамп БД старой версии, если он был сделан.
  4. Запустите старую версию контейнера (если она доступна как образ) или разверните заново по старой инструкции.
  5. Проверить работоспособность и открыть инцидент для анализа причин неудачного обновления.

Важно: перед откатом уведомите пользователей и выполните откат в окне низкой нагрузки.

Роли и чек-листы перед обновлением

Администратор (ответственный за портал):

  • Сделать полную резервную копию данных и дамп БД.
  • Сообщить пользователям время обслуживания.
  • Проверить доступность резервного хранилища.

DevOps/инженер по развёртыванию:

  • Проверить версии Docker и docker-compose.
  • Остановить и удалить только целевые контейнеры.
  • Установить новую версию по скрипту.
  • Восстановить данные и проверить права файлов.

QA/тестировщик:

  • Выполнить сценарии приёмки (см. выше).
  • Проверить логи и мониторинг.

Методология обновления (коротко)

  1. Подготовка: бэкап + план действий + окно обслуживания.
  2. Тестовая среда: по возможности сначала повторите процедуру на стейджинге.
  3. Обновление: выполнить шаги 2–5 из инструкции.
  4. Проверка: выполнить приёмочные тесты.
  5. Мониторинг: следить за логами и метриками 24–72 часа.

Совместимость и советы по миграции

  • Если вы используете внешний (вне Docker) экземпляр MySQL или отдельный кластер, заменять контейнер mysql не обязательно — достаточно восстановить дамп в ваш существующий сервер.
  • Обратите внимание на версию MySQL: в инструкции упоминается MySQL 5.7. Если у вас другая версия, проверьте совместимость схемы перед восстановлением дампа.
  • Если вы используете кастомные плагины или плагины 3‑го уровня, сохраните и протестируйте их отдельно.

Частые проблемы и их устранение

  • Проблема: сервис не стартует, в логах ошибки миграции БД. Решение: проверьте корректность дампа и права доступа MySQL; выполните восстановление дампа ещё раз и проверьте версию MySQL.

  • Проблема: проблема с правами на файлы после cp. Решение: выполните chown/chmod для пользователя, под которым запускаются контейнеры (обычно UID/GID совпадают с настройками контейнера).

  • Проблема: потеря части данных. Решение: немедленно остановите сервисы, сохраните текущие файлы и свяжитесь с поддержкой; используйте резервную копию для восстановления.

Сниппеты и подсказки (Cheat sheet)

  • Копирование папок из контейнера на хост:
sudo docker cp :/path/in/container /path/on/host
  • Копирование дампа в контейнер MySQL и восстановление:
sudo docker cp dumpfile.sql {{MYSQL_SERVER_ID}}:/dumpfile.sql
sudo docker exec -it {{MYSQL_SERVER_ID}} bash
mysql -u root -p onlyoffice < dumpfile.sql
  • Перезапуск сервисов:
sudo docker restart  

Факт-бокс — ключевые элементы

  • Основные каталоги данных: /app/onlyoffice/CommunityServer/data, /app/onlyoffice/CommunityServer/logs, /app/onlyoffice/CommunityServer/mysql
  • Скрипт установки: http://download.onlyoffice.com/install/opensource-install.sh
  • Обратите внимание на placeholder’ы: {{COMMUNITY_SERVER_ID}}, {{MYSQL_SERVER_ID}}, /home/user/Backup

Краткое резюме

Обновление ONLYOFFICE в Docker — задача, требующая планирования, корректного бэкапа и проверки совместимости БД. Выполните резервное копирование, установите новую версию через официальный скрипт, восстановите данные и прогоните приёмочные тесты. Держите под рукой план отката и тестовые сценарии.

Важно: протестируйте процедуру на стейджинге перед применением в продакшене.

Ссылки

  • Official ONLYOFFICE website
  • Official documentation on ONLYOFFICE Community Server
  • Support forum for any questions
  • ONLYOFFICE on GitHub
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро