Сегодня я обновился с версии 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, я удивлён появлением таких проблем… и до сих пор у меня никогда не возникало ничего подобного после обновлений.