Discourse-setup が symbolic link を作成しようとすると失敗する

Discourse を Fedora CoreOS サーバーにインストールしようとしていますが、うまくいきません。まず、/var/shared/ ディレクトリを作成し、/ は CoreOS では変更不可能なので、テンプレートを更新してこれを反映させる必要がありました。これは機能し、データベースは起動しますが、シンボリックリンクを作成しようとしたときに pups が失敗し、次のエラーが発生します。
Pups::ExecError: cd /var/www/discourse && bash -c "ln -s /var/shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log" failed with return #<Process::Status: pid 241 exit 1>
/var/www/ ディレクトリを作成し、それが役立つかどうかを確認するために最も緩い権限を設定してみました。ユーザーが間違っている可能性があります。ユーザー ‘discourse’ を持つ chown ステートメントに気づきましたが、それはおそらくコンテナ内にあると思われます。/var/shared/ および /var/www を標準ユーザーを所有者として作成しようとしましたが、discourse-setup は root として実行されるため、これも間違っている可能性があります。
Docker ユーザーよりも podman ユーザーであるため、他のエラーが発生している可能性があります。それが役立つかどうかを確認するために selinux を無効にしました。
どんな助けでも喜んで受け取ります… :slight_smile:

編集。
ログは以下のとおりです。

cd /var/www/discourse && bash -c "ln -s /var/shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
ln: シンボリックリンク '/var/www/discourse/log/production.log' を作成できません: ファイルが存在します
ln: シンボリックリンク '/var/www/discourse/log/production_errors.log' を作成できません: ファイルが存在します
ln: シンボリックリンク '/var/www/discourse/log/unicorn.stdout.log' を作成できません: ファイルが存在します
ln: シンボリックリンク '/var/www/discourse/log/unicorn.stderr.log' を作成できません: ファイルが存在します
ln: シンボリックリンク '/var/www/discourse/log/sidekiq.log' を作成できません: ファイルが存在します
I, [2025-06-15T16:41:06.444013 #1]  INFO -- :
I, [2025-06-15T16:41:06.445624 #1]  INFO -- : 非同期プロセスを終了します
I, [2025-06-15T16:41:06.445825 #1]  INFO -- : HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 42 に INT を送信します
I, [2025-06-15T16:41:06.446165 #1]  INFO -- : exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 91 に TERM を送信します
2025-06-15 16:41:06.446 UTC [42] LOG:  高速シャットダウン要求を受信しました
91:signal-handler (1750005666) SIGTERM を受信し、シャットダウンをスケジュールしています...
91:M 15 Jun 2025 16:41:06.451 # ユーザーがシャットダウンを要求しました...

エラーは、ログファイル用のシンボリックリンクを作成しようとした際に、それらの名前のファイルが既に存在していることが原因で発生しています。

discourse-setup を実行する前に、/var/www/discourse/log 内の production.logproduction_errors.log などのファイルを削除してください。これにより、シンボリックリンクコマンドが成功するようになります。
例:

rm /var/www/discourse/log/production.log
rm /var/www/discourse/log/production_errors.log
rm /var/www/discourse/log/unicorn.stdout.log
rm /var/www/discourse/log/unicorn.stderr.log
rm /var/www/discourse/log/sidekiq.log

その後、セットアップを再実行してください。

また、コンテナ内のファイル/フォルダの所有権は、通常、ホストユーザーやrootではなく、discourse ユーザーのものであるべきです。ホスト上で誤ったユーザーによって、または不適切な権限でファイルが事前に作成されている場合、セットアップが失敗する可能性があります。