Dockerを使用して開発用にDiscourseをインストールする

この解決策は機能しますか?d/boot_dev --init の先へ進めませんでした。

更新:
わかりました。discourse_dev コンテナ内の discourse ユーザーのように、開発者の UID が 1000 でない場合、これは機能しないようです。

uid=1000(discourse) gid=1000(discourse) groups=1000(discourse)

私が直面した一連の問題
nastee@station ~/vendsrc/discourse > ./d/boot_dev --init
Using source in: /home/nastee/vendsrc/discourse
Using data in:   /home/nastee/vendsrc/discourse/data/postgres
release: Pulling from discourse/discourse_dev
.....
Digest: sha256:e118af085d4be0486d4d9bfa83ac1c519d9975bed9a08180d10d5ad7c508632c
Status: Downloaded newer image for discourse/discourse_dev:release
docker.io/discourse/discourse_dev:release
f517752802e70b8a9110972bb3ddc0e9343d0c430603e4a9ae3eacc5ec69a2cf
Installing gems...
There was an error while trying to write to `/src/Gemfile.lock`. It is likely that you need to grant write permissions for that path.

参考: There was an error while trying to write to `/src/Gemfile.lock`. It is likely that you need to grant write permissions for that path - #2 by jacque006

そのファイルを 777 に設定しました(いやらしいですが)。そうすると、少なくとも Gems のインストールは進むようになりました。しかし、次の docker exec プロセスがソースディレクトリに書き込もうとした際に失敗しました。なぜなら、それが私のユーザーとして実行されていないからです。エラーは以下の通りです:

 EACCES  EACCES: permission denied, open '/src/_tmp_82_62be1aeb82e80c1d1054dac8bdbc5923'

仕方ないので、sudo chmod 4777 . を実行しました。ここで「.」は d/ を実行しているクローンされたソースディレクトリです。

その結果、以下のようなエラーになりました:

 EACCES  Error while trying to symlink "../../../node_modules/.pnpm/prettier@3.8.1/node_modules/prettier" to "/src/docs/developer-guides/node_modules/prettier". The error happened while trying to create the parent directory for the symlink target. Details: Error: EACCES: permission denied, mkdir '/src/docs/developer-guides/node_modules'

さらに別の権限エラーに遭遇し、結局 chmod 777 -R . を実行して諦めました。

最終的に以下のようなエラーに至りました:

connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory