非常に古いコンテナからのアップグレードが、Postgresの権限エラーで失敗する

Welcome to nginx! page before rebuild, site won’t rebuild now からの議論の続きです。

非常に古いコンテナからアップグレードした場合、PostgreSQL の権限が間違っていることがまれにありますが(PostgreSQL の UID と GID が変更されました)、これを修正するには以下が必要です。

chmod -r 101.104 /var/discourse/shared/standalone/postgres_data

これを数回行いました。リンクされたトピックへの最初の返信で問題に気づきましたが、ほとんどの人にとって必要な UID/GID を特定するのは簡単ではありません。(動作しているサーバーを見つけて ls -ld /var/discourse/shared/standalone/postgres_data を実行してください。)

「いいね!」 3

または、もっと簡単に:

○ → docker run --rm discourse/base:2.0.20250226-0128 id postgres
uid=101(postgres) gid=104(postgres) groups=104(postgres),107(ssl-cert)

さらに良いのは:

docker run --rm -v /var/discourse/shared/standalone/postgres_data:/data discourse/base:2.0.20250226-0128 chown -R postgres:postgres /data
「いいね!」 3

それが私が好きな答えです。多くの人が「簡単」と呼ぶものではありません!

ベアコンテナを実行することになるとは思いませんでした。

「いいね!」 1