Обновление (update)
Команда update обновляет DoQA до актуальной версии.
Совет
Всегда используйте актуальную версию утилиты DoQA CLI. Ссылки и инструкции — на странице Утилита управления сервером.
./doqa update
Обновление останавливает приложение
Последним шагом update гасит все контейнеры и завершается сообщением «Приложение успешно обновлено». После этого DoQA не работает, пока вы не выполните ./doqa start вручную.
Флаги
--version <x_y_z>— обновиться до конкретной версии конфигураций, например--version 3_0_0. По умолчанию выбирается последняя версия, доступная по вашей лицензии.--skip-check— пропустить проверку лицензии. Используйте только по указанию технической поддержки.--bundle <каталог>— обновиться из оффлайн-комплекта, собранного командойdoqa bundle, без обращения к серверам загрузки. Версию задаёт манифест комплекта, поэтому--versionс ним указывать не нужно.
Перед началом
- DoQA должен работать на встроенной PostgreSQL. Если в
.envпараметрDB_HOSTуказывает на внешнюю базу, обновление не начнётся: утилита ответит «Обновление недоступно: DoQA подключён к внешней базе данных» и завершится. Поставляемыйdocker-compose.ymlрассчитан только на встроенную БД; за переносом данных обратитесь в поддержкуsupport@doqa.app. - Приложение должно быть запущено: утилита обращается к его API за данными лицензии. Если ключевые контейнеры остановлены, она поднимет их сама.
- Лицензионный ключ должен быть введён в интерфейсе DoQA, иначе обновление прервётся сообщением «Введите лицензию в пользовательский интерфейс DoQa». См. Лицензии (серверная версия).
- Выполняйте обновление в период минимальной нагрузки: приложение будет недоступно.
- Проверьте доступ в интернет и свободное место на диске.
- Перед обновлением утилита автоматически создаёт резервную копию базы данных и файлового хранилища.
Важно
Если были изменены базовые настройки DoQA, используется не поставляемое в комплекте ПО для хранения данных или ваш сервер не соответствует требованиям, резервная копия автоматически создана не будет. Проведите её в ручном режиме, в зависимости от вашей конфигурации.
Как проходит обновление
- Проверяется лицензия и определяется целевая версия.
- Создаётся резервная копия данных. Если она не удалась, обновление прерывается.
- Приложение останавливается — до подмены
docker-compose.yml, пока имена сервисов ещё совпадают с именами запущенных контейнеров. - Загружается и распаковывается архив конфигураций.
- Обновляются
docker-compose.yml, конфигурация Nginx и переменные образов в.env. - Пересобираются образы (
docker compose build). - Применяются миграции базы данных.
- Приложение останавливается снова — на этом команда завершается.
Обычно процесс занимает несколько минут.
После обновления
- Запустите приложение — без этого шага сайт не откроется:
./doqa start
- Откройте в браузере адрес
https://<APP_URL>/и проверьте, что система загружается корректно. - Если вы меняли домен, перевыпустите сертификаты: сначала
domain, затемcert. - При необходимости посмотрите состояние контейнеров и логи:
docker compose ps
docker compose logs -f
Обновление до конкретной версии
Версия указывается через подчёркивания — так же, как называется архив конфигураций:
./doqa update --version 3_0_0
Ограничения:
- Если версия вышла после окончания срока поддержки по вашей лицензии, обновление прервётся сообщением «Обновление невозможно, так как версия X вышла после окончания срока действия лицензии ДД.ММ.ГГГГ». Ближайшую доступную версию утилита не подсказывает — запустите
./doqa updateбез--version, тогда она сама выберет последнюю разрешённую лицензией. - Понижение версии запрещено: команда ответит «Обновление на понижение версии недоступно». Чтобы установить более раннюю версию, выполните установку заново.