3.1.0 업그레이드 후 파일시스템 권한 문제

오늘 3.0.x에서 3.1.0으로 업그레이드했습니다. 웹 UI를 통한 업그레이드가 실패하여 다음 명령을 실행했습니다.

git pull
./launcher rebuild app

명령은 정상적으로 완료되었지만, 사이트를 방문했을 때 “invalid gateway” 오류만 발생했습니다.

이 문제를 파일 시스템 권한 오류로 추적했습니다.

  • /var/www/discourse/tmp/pids가 쓰기가 불가능했으며, 이를 수정한 후에는
  • /etc/postgresql/13/main/pg_hba.conf가 읽기 불가능한 상태였습니다.

이 두 가지를 수정하니 사이트는 정상 작동했지만, 사용자 아바타가 표시되지 않았습니다. 이번에는 임시 디렉터리가 없었기 때문에 컨테이너 내에서 /var/www/discourse/tmp를 모든 사용자에게 쓰기 가능하도록 설정했습니다.

이로 인해 제가 인지하고 있는 문제들은 해결된 것 같지만, 아직 드러나지 않은 다른 문제가 있을 수도 있습니다.

또한 로그에서 다음과 같은 내용을 확인했습니다:

rror running git command: ["git", "rev-parse", "HEAD"] in /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'
To add an exception for this directory, call:

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

3.1 버전에서 변경된 점이 있나요? Docker 기반이므로 이러한 문제가 발생하는 것이 놀랍습니다… 지금까지 업그레이드 후 이런 문제를 경험해 본 적이 없었거든요.

나도 비슷한 증상을 겪고 있어요. 혹시 플러그인을 사용 중이신가요?

저도 Docker를 통해 설정한 환경에서 아래 오류가 발생합니다.

Discourse::Utils::CommandError: /src/lib/discourse.rb:137:in `exec’: error Command “esbuild” not found.

의존성을 설치하려면 먼저 yarn을 실행해야 할 것 같습니다.

저도 비슷한 문제를 겪었는데, yarn을 실행하니 문제가 해결되었습니다.

3.1.1 버전으로 업데이트한 후(git pull ; ./launcher rebuild app 명령으로 실행) 문제가 해결된 것 같습니다. 시스템이 문제없이 시작되었고, UI도 이제 정상적으로 동작합니다. :tada: