Проблемы с правами доступа к файловой системе после обновления до 3.1.0

Сегодня я обновился с версии 3.0.x до 3.1.0. Обновление через веб-интерфейс не удалось, поэтому я выполнил:

git pull
./launcher rebuild app

Команды выполнились успешно, но при посещении сайта я получил ошибку «invalid gateway».

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

  • /var/www/discourse/tmp/pids не был доступен для записи; исправление этого привело к тому, что
  • /etc/postgresql/13/main/pg_hba.conf оказался недоступен для чтения.

После исправления этих проблем сайт заработал, но аватары пользователей отсутствовали. Опять же, отсутствовала временная директория, поэтому я сделал /var/www/discourse/tmp доступной для записи всеми пользователями внутри контейнера.

Кажется, это решило все известные мне проблемы, но, возможно, есть ещё что-то скрытое.

Также в логах я увидел следующее:

Ошибка выполнения команды git: ["git", "rev-parse", "HEAD"] в /var/www/discourse/plugins/styleguide : Discourse::Utils::CommandError : /var/www/discourse/lib/discourse.rb:137:in `exec': fatal: detected dubious ownership in repository at '/var/www/discourse'
Чтобы добавить исключение для этой директории, выполните:

	git config --global --add safe.directory /var/www/discourse

Что-то изменилось в версии 3.1? Учитывая, что система работает на Docker, я удивлён появлением таких проблем… и до сих пор у меня никогда не возникало ничего подобного после обновлений.

Я наблюдаю похожие симптомы — вопрос: вы используете какие-либо плагины?

У меня тоже возникает следующая ошибка при настройке через Docker.

Discourse::Utils::CommandError: /src/lib/discourse.rb:137:in `exec’: ошибка: команда “esbuild” не найдена.

Скорее всего, сначала нужно запустить yarn для установки зависимостей.

Я тоже столкнулся с похожей проблемой, и запуск yarn решил её.

После последнего обновления до версии 3.1.1 (которое я выполнил с помощью команды git pull ; ./launcher rebuild app) проблема, похоже, решена: система запустилась без сбоев, а интерфейс теперь работает корректно. :tada: