Ich habe versucht, über das Admin-Panel zu aktualisieren, bin mir aber nicht sicher, was passiert ist, aber die Admin-Seiten wurden leer, während das Frontend in Ordnung war. Ich beschloss, die Aktualisierung erneut über die Befehlszeile durchzuführen und erhielt diese Fehlermeldung
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/postgresql/15/main/postgresql.conf
cd /var/discourse; ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
2.0.20240708-0023: Pulling from discourse/base
Digest: sha256:025e9c1f68
Status: Image is up to date for discourse/base:2.0.20240708-0023
docker.io/discourse/base:2.0.20240708-0023
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-06T20:57:43.044950 #1] INFO -- : Reading from stdin
I, [2025-02-06T20:57:43.066724 #1] INFO -- : File > /etc/service/postgres/run chmod: +x chown:
I, [2025-02-06T20:57:43.072432 #1] INFO -- : File > /etc/service/postgres/log/run chmod: +x chown:
I, [2025-02-06T20:57:43.077790 #1] INFO -- : File > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2025-02-06T20:57:43.083299 #1] INFO -- : File > /root/install_postgres chmod: +x chown:
I, [2025-02-06T20:57:43.087962 #1] INFO -- : File > /root/upgrade_postgres chmod: +x chown:
FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/postgresql/15/main/postgresql.conf
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
replace failed with the params {"filename"=>"/etc/postgresql/15/main/postgresql.conf", "from"=>"data_directory = '/var/lib/postgresql/15/main'", "to"=>"data_directory = '/shared/postgres_data'"}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
Ich habe gerade versucht, eine andere Instanz auf einem anderen Server zu aktualisieren, und es hat geklappt. Beide Server sind DO Droplets mit denselben Spezifikationen.
Ich bin mir nicht sicher, was los ist.
Das ist ein viel älteres Docker-Image, das PostgreSQL 15-Pakete nicht installiert hat, daher der Fehler:
Ihre launcher-Datei wurde wahrscheinlich modifiziert und auf die Verwendung des oben genannten älteren Docker-Images festgelegt. Sie können sie auf das unten hervorgehobene neueste Image ändern und dann erneut versuchen, neu zu erstellen. (Sichern Sie vorher notwendige Backups.)
Es könnte auch als base_image in Ihrer app.yml-Datei definiert werden. Wenn Sie das finden, können Sie die Zeile einfach auskommentieren (oder entfernen).
Wenn das nicht hilft, können Sie stattdessen eine rekursive Suche nach einem Teil dieser Zeichenkette versuchen.