Neuinstallation aufgrund fehlgeschlagener Postgres 12-Aktualisierung nicht möglich

Welcher Leitfaden?
Port 2045 erinnert mich an etwas, das ich nicht genau benennen kann :thinking:

Nach einigen fehlgeschlagenen Installationen vor ein paar Monaten habe ich es auf 2045 geändert, aber das ist nicht relevant, da es mit # kommentiert ist. Das Problem liegt nicht bei diesem Port.

Ich habe mich an diese Anleitung gehalten: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Nun ja… Sie wurde geändert, rutschige Finger passieren eben :sweat_smile:

Ich verstehe, aber um irgendwann auf 2045 zu kommen, hast du wahrscheinlich etwas verfolgt, das dich hierher und bis jetzt geführt hat.
Ich denke, ich habe denselben Beitrag verfolgt, weil ich aus irgendeinem Grund, an den ich mich nicht mehr erinnern kann, auch einen 2045-Proxy in meiner nginx-Konfiguration habe…

:crazy_face:

@Benjamin_D In meiner nginx-Datei gibt es keinen Port 2045, du kannst sie durch Hochscrollen selbst einsehen. Die Zeile in app.yml ist mit # auskommentiert, daher verstehe ich nicht, warum ihr darauf herumreitet. Das Problem liegt definitiv nicht dort, sonst würde die Fehlermeldung darauf hinweisen.

Ich kann die Zeile aus der app.yml-Datei entfernen, wenn du möchtest, das Ergebnis wäre dann dasselbe wie zuvor.

Ich glaube, als ich es zum ersten Mal installiert habe, meldete der Container, dass die Ports 80 oder 443 bereits belegt sind, und irgendwo habe ich gelesen, man solle einfach einen zufälligen Port hinzufügen. Aber diese Zeile ist mit # auskommentiert und sollte daher keine Rolle spielen.

Überhaupt nicht, wir versuchen lediglich, deine Schritte nachzuvollziehen und unsere Einrichtung mit deiner zu vergleichen.

Dieser Fehler hängt definitiv mit einem fehlgeschlagenen PostgreSQL-Upgrade zusammen.

Schauen Sie sich das Meta-Thema an, um das Problem zu beheben.

2 „Gefällt mir“

Ich werde das Thema zum PostgreSQL-Upgrade prüfen. Falls mir weitere Fehler begegnen, melde ich mich wieder.

Also, nachdem ich Postgres von 10 auf 12 aktualisiert habe, habe ich immer noch Probleme nach der Ausführung des Befehls: ./launcher rebuild app

sudo ./launcher rebuild app
fatal: not a git repository (or any of the parent directories): .git
Stopping old container
+ /usr/bin/docker stop -t 60 app
app
cd /pups && git pull && /pups/bin/pups --stdin
Already up to date.
I, [2020-07-13T13:34:21.635079 #1]  INFO -- : Loading --stdin
I, [2020-07-13T13:34:21.643465 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2020-07-13T13:34:21.713536 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2020-07-13T13:34:21.713917 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2020-07-13T13:34:21.720693 #1]  INFO -- :
I, [2020-07-13T13:34:21.721042 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-07-13T13:34:21.724919 #1]  INFO -- :
I, [2020-07-13T13:34:21.725387 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2020-07-13T13:34:21.728768 #1]  INFO -- :
I, [2020-07-13T13:34:21.729117 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2020-07-13T13:34:21.732712 #1]  INFO -- :
I, [2020-07-13T13:34:21.733008 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-07-13T13:34:21.735981 #1]  INFO -- :
I, [2020-07-13T13:34:21.736200 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2020/07/13 13:34:21 socat[27] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2020-07-13T13:34:21.751266 #1]  INFO -- :
I, [2020-07-13T13:34:21.752242 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-07-13T13:34:21.757300 #1]  INFO -- :
I, [2020-07-13T13:34:21.757817 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-07-13T13:34:21.761287 #1]  INFO -- :
I, [2020-07-13T13:34:21.761706 #1]  INFO -- : > mkdir -p /shared/postgres_run/10-main.pg_stat_tmp
I, [2020-07-13T13:34:21.765114 #1]  INFO -- :
I, [2020-07-13T13:34:21.765725 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/10-main.pg_stat_tmp
I, [2020-07-13T13:34:21.770573 #1]  INFO -- :
I, [2020-07-13T13:34:21.781057 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2020-07-13T13:34:21.791681 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2020-07-13T13:34:21.800244 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2020-07-13T13:34:21.808363 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2020-07-13T13:34:21.809170 #1]  INFO -- : > chown -R root /var/lib/postgresql/10/main
chown: cannot access '/var/lib/postgresql/10/main': No such file or directory
I, [2020-07-13T13:34:21.817357 #1]  INFO -- :


FAILED
--------------------
Pups::ExecError: chown -R root /var/lib/postgresql/10/main failed with return #<Process::Status: pid 42 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cmd"=>["chown -R root /var/lib/postgresql/10/main", "[ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/10/bin/initdb -D /shared/postgres_data || exit 0", "chown -R postgres:postgres /shared/postgres_data", "chown -R postgres:postgres /var/run/postgresql"]}
3e7af3d49be0616ae52ee03d6ee0867d25e5db96de40d92c7ec7abeded5d3262
** FAILED TO BOOTSTRAP ** bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es kann mehr als eine geben.
./discourse-doctor kann helfen, das Problem zu diagnostizieren.

Ich verstehe es nicht, ich gebe auf… ;/

Was bedeutet “fatal: not a git repository (or any of the parent directories): .git”??

Außerdem erhalte ich Folgendes:

sudo ./discourse-setup
The configuration file containers/app.yml already exists!

. . . reconfiguring . . .


Saving old file as app.yml.2020-07-13-153931.bak
Stopping existing container in 5 seconds or Control-C to cancel.
+ /usr/bin/docker stop -t 10 app
app

Found 4GB of memory and 2 physical CPU cores
setting db_shared_buffers = 1024MB
setting UNICORN_WORKERS = 4
containers/app.yml memory parameters updated.

Hostname for your Discourse? [cp2077.eu]:

Checking your domain name . . .
WARNING: Port 443 of computer does not appear to be accessible using hostname:    cp2077.eu.
WARNING: Connection to http://cp2077.eu (port 80) also fails.

This suggests that cp2077.eu resolves to some IP address that does not reach this
machine where you are installing discourse.

The first thing to do is confirm that cp2077.eu resolves to the IP address of this server.
You usually do this at the same place you purchased the domain.

If you are sure that the IP address resolves correctly, it could be a firewall issue.
A web search for "open ports YOUR CLOUD SERVICE" might help.

This tool is designed only for the most standard installations. If you cannot resolve
the issue above, you will need to edit containers/app.yml yourself and then type

./launcher rebuild app

Die Website ist über Port 443 (SSL) gesichert und läuft, ich verstehe nicht, warum es heißt, dass die Website nicht erreichbar ist. Ich weiß nicht, was ich noch tun soll. Bitte helfen Sie mir.

Sie verwenden einen Reverse-Proxy, daher können Sie discourse-setup nicht nutzen. Außerdem müssen Sie wahrscheinlich die Let’s Encrypt-Vorlage aus Ihrer Konfigurationsdatei entfernen.

Ich weiß nicht, was Ihr Postgres-Problem sein könnte.

2 „Gefällt mir“

Du meinst diese Zeilen über den Proxy in meiner nginx-Datei?

Versuchst du nicht, Discourse „auf

1 „Gefällt mir“

Ich denke, @pfaffman meint, dass das Skript discourse-setup möglicherweise nicht funktioniert, weil du einen Reverse-Proxy (nginx) verwendest (ich habe Discourse noch nie mit einem Reverse-Proxy betrieben, daher weiß ich nicht, ob dies zutrifft). Wenn du die app.yml korrekt definierst, sollte es auch ohne die Ausführung von discourse-setup in Ordnung sein.

Das sieht so aus, als würde versucht, diesen Code in einem Container auszuführen, der keine PostgreSQL 10 enthält (du verwendest wahrscheinlich die Version 12). Wenn dies das gewünschte Ziel ist und deine Vorlage templates/postgres.template.yml lautet, wie in deinem ersten Beitrag beschrieben, ist das discourse_docker-Repository auf deinem Rechner (unter /var/discourse) möglicherweise veraltet.

Ist deine installierte Discourse-Version aktuell oder veraltet? Das Problem könnte behoben werden, wenn du das Repository aktualisierst:

cd /var/discourse
git pull

und anschließend den Rebuild-Schritt ausführst.

Stelle außerdem sicher, dass der Discourse-Container zerstört und neu erstellt wird (und nicht nur gestoppt und gestartet), um keinen alten Container zu verwenden (ich denke, der Discourse-Rebuild sollte dies bereits erledigen, aber sicher ist sicher …).

Wenn es nicht funktioniert und du ein Backup hast, ist es ratsam, wie @Benjamin_D sagte, einen Versuch auf einer frischen neuen Instanz zu starten.

1 „Gefällt mir“

@Benjamin_D,

Ich versuche, Discourse für eine weitere Domain „zusätzlich

Zwei Diskurs-Instanzen auf demselben Server – das wäre die Multisite-Konfiguration, eine ganz andere Geschichte :smile:
Für den Moment denke ich, es wäre am besten, sicherzustellen, dass du ein Backup der ersten Seite hast, diese mit aktualisiertem pg12 betreibst und dann das Multisite-Abenteuer wagst, wofür ich absolut nicht qualifiziert bin :sweat_smile:

2 „Gefällt mir“

Danke, Benjamin,

ich würde ganz von vorne beginnen. Ich habe zwar ein Backup der ersten Seite, aber das war nur ein Test und ist nicht mehr nötig. Ich möchte alles sauber neu starten.

Wie entferne ich den alten Container und alles andere, damit ich mit einer frischen Tafel beginnen kann?

Haben Sie versucht, das discourse_docker-Repository zuerst lokal (unter /var/discourse) zu aktualisieren? Hat das nicht funktioniert?

[quote=“pr0cesor, post:35, topic:157428”]
Hier noch eine Bitte um Entschuldigung für meine Unwissenheit: Beziehen Sie sich mit „Proxy

Seltsamerweise hat das Discourse-Setup im Februar auf einer meiner Domains funktioniert, wie du, Benjamin, bemerkt hast, da ich damals auch Beiträge dazu veröffentlicht habe. Daher wundert es mich, dass niemand Discourse jemals mit Nginx betrieben hat. Um ehrlich zu sein, hat es einwandfrei funktioniert, bis ich gestern versucht habe, Discourse auf einer anderen Domain mit demselben Server zu installieren.

Wonach genau sollte ich im discourse_docker-Ordner suchen? Hier ist der Inhalt dieses Ordners:

discourse_docker$ ls
bin   containers        discourse-setup  launcher  README.md  scripts  templates
cids  discourse-doctor  image            LICENSE   samples    shared

Führen Sie einfach git pull aus, um das Repository zu aktualisieren (das Verzeichnis /var/discourse selbst ist das lokale Repository), wie ich in einem der vorherigen Beiträge erwähnt habe:

und führen Sie danach den Befehl zum Neuaufbau aus.

Es gibt andere Personen, die nginx davor verwenden, aber das ist sicherlich viel seltener als die Standardinstallation auf einer dedizierten Maschine nur für Discourse. Ich weiß auch nicht, ob dies discourse-setup beeinträchtigt; ich rate nur basierend auf Ihren Ergebnissen und da der Fehler beim Prüfen von DNS und offenen Ports auftrat (und bedenkt, dass es nicht Ihr Discourse-Container ist, der die Ports 80 und 443 auf dem Host verwendet).

Okay, ich bin also in den Ordner discourse_docker gegangen, wie du erwähnt hast, Lucas, und habe meine app.yml-Datei in die Container dieses Ordners kopiert und den Befehl ./launcher rebuild app ausgeführt.

Es ist etwas passiert, ohne dass ein Fehler aufgetreten ist, und ich denke, es funktioniert.

Ich will es noch nicht verhext haben, ich werde jetzt versuchen, das neue Konto einzurichten :smiley: