Discourse-Setup schlägt fehl, wenn Pups versucht, einen symbolischen Link zu erstellen

Ich versuche, Discourse auf meinem Fedora-CoreOS-Server zu installieren, habe aber nicht viel Erfolg. Zuerst musste ich ein Verzeichnis /var/shared/ erstellen und die Vorlagen entsprechend aktualisieren, da / auf CoreOS unveränderlich ist. Das funktioniert und die Datenbank startet, aber dann schlägt Pups fehl, als es versucht, einen symbolischen Link mit der folgenden Fehlermeldung zu erstellen: 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>Ich habe versucht, das Verzeichnis/var/www/zu erstellen und die lockersten Berechtigungen festzulegen, nur um zu sehen, ob das hilft. Es könnte sein, dass der Benutzer falsch ist. Ich bemerke, dass es einechown-Anweisung mit einem Benutzer 'discourse' gibt, aber ich denke, das ist wahrscheinlich innerhalb eines Containers. Ich habe versucht, /var/shared/und/var/wwwmit einem Standardbenutzer als Eigentümer zu erstellen, aber ich denke, das ist wahrscheinlich auch falsch, dadiscourse-setup` als Root ausgeführt wird.
Ich bin mehr ein Podman-Benutzer als ein Docker-Benutzer, daher mache ich vielleicht einen anderen Fehler. Ich habe SELinux deaktiviert, um zu sehen, ob das hilft.
Jede Hilfe wird dankbar angenommen… :slight_smile:

Bearbeiten.
Logs unten

cd /var/www/discourse &amp;&amp; bash -c "ln -s /var/shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
ln: Symbolischer Link '/var/www/discourse/log/production.log' konnte nicht erstellt werden: Datei existiert bereits
ln: Symbolischer Link '/var/www/discourse/log/production_errors.log' konnte nicht erstellt werden: Datei existiert bereits
ln: Symbolischer Link '/var/www/discourse/log/unicorn.stdout.log' konnte nicht erstellt werden: Datei existiert bereits
ln: Symbolischer Link '/var/www/discourse/log/unicorn.stderr.log' konnte nicht erstellt werden: Datei existiert bereits
ln: Symbolischer Link '/var/www/discourse/log/sidekiq.log' konnte nicht erstellt werden: Datei existiert bereits
I, [2025-06-15T16:41:06.444013 #1]  INFO -- : 
I, [2025-06-15T16:41:06.445624 #1]  INFO -- : Beende asynchrone Prozesse
I, [2025-06-15T16:41:06.445825 #1]  INFO -- : Sende INT an 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
I, [2025-06-15T16:41:06.446165 #1]  INFO -- : Sende TERM an exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 91
2025-06-15 16:41:06.446 UTC [42] LOG:  Schnelle Herunterfahr-Anforderung empfangen
91:signal-handler (1750005666) SIGTERM empfangen, Herunterfahren wird geplant...
91:M 15 Jun 2025 16:41:06.451 # Benutzer hat Herunterfahren angefordert...

Der Fehler entsteht beim Versuch, symbolische Links für Log-Dateien zu erstellen, aber Dateien mit diesen Namen existieren bereits.

Entfernen Sie vor dem Ausführen von discourse-setup Dateien wie production.log, production_errors.log usw. in /var/www/discourse/log. Dies ermöglicht den Erfolg der Befehle zum Erstellen symbolischer Links.
Beispiel:

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

Führen Sie dann die Einrichtung erneut aus.

Außerdem sollte der Besitz von Dateien/Ordnern innerhalb des Containers normalerweise dem Benutzer discourse gehören und nicht root oder Ihrem Host-Benutzer. Wenn Dateien vom falschen Benutzer oder mit falschen Berechtigungen auf dem Host vorab erstellt werden, kann die Einrichtung fehlschlagen.