Обновление ONLYOFFICE Community Server в Docker — пошаговый гид
ONLYOFFICE — это открытое решение для совместной работы: онлайн-редакторы документов и набор модулей (почта, CRM, проекты, календарь и сообщество). ONLYOFFICE Community Server распространяется под лицензией GNU AGPL.
Разработчики выпустили новую версию Community Server 9.5 с рядом улучшений и новых функций:
- Усилена безопасность аутентификации.
- В CRM: дополнительные отчёты и настройки курса валют; отчёты по закрытым сделкам, прогноз продаж и сводки по активности.
- В модулях «Проекты»: права доступа групп в приватных проектах и новые массовые действия для задач и вех.
- Обновлён модуль «Talk» с возможностью удаления загруженных файлов.
- Добавлены новые языки интерфейса: нидерландский, вьетнамский, турецкий, словацкий, чешский.

Шаг 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 отката)
Если после обновления возникает критическая проблема, выполните откат по плану:
- Остановите новые контейнеры:
sudo docker stop {{COMMUNITY_SERVER_ID}} {{MYSQL_SERVER_ID}}- Удалите новые контейнеры и образы (по имени/ID, а не все подряд).
- Восстановите файлы из резервной копии в исходные пути (сохраните текущие в папку с временной меткой).
- Восстановите дамп БД старой версии, если он был сделан.
- Запустите старую версию контейнера (если она доступна как образ) или разверните заново по старой инструкции.
- Проверить работоспособность и открыть инцидент для анализа причин неудачного обновления.
Важно: перед откатом уведомите пользователей и выполните откат в окне низкой нагрузки.
Роли и чек-листы перед обновлением
Администратор (ответственный за портал):
- Сделать полную резервную копию данных и дамп БД.
- Сообщить пользователям время обслуживания.
- Проверить доступность резервного хранилища.
DevOps/инженер по развёртыванию:
- Проверить версии Docker и docker-compose.
- Остановить и удалить только целевые контейнеры.
- Установить новую версию по скрипту.
- Восстановить данные и проверить права файлов.
QA/тестировщик:
- Выполнить сценарии приёмки (см. выше).
- Проверить логи и мониторинг.
Методология обновления (коротко)
- Подготовка: бэкап + план действий + окно обслуживания.
- Тестовая среда: по возможности сначала повторите процедуру на стейджинге.
- Обновление: выполнить шаги 2–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
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента