Joplin update im Docker wie auf DB zugreifen?

ElaCorp

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
819
Punkte für Reaktionen
61
Punkte
48
Mein Problem ist, dass in der DB von Joplin steht:
2023-12-10 23:18:23.726 UTC [1277] DETAIL: The database was created using collation version 2.31, but the operating system provides version 2.36.
2023-12-10 23:18:23.726 UTC [1277] HINT: Rebuild all objects in this database that use the default collation and run ALTER DATABASE joplin REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.
Ich habe versucht admina zu installieren. Leider weiß ich nicht was genau meine Angaben sind.
So habe ich das beides instaliert: https://pastecode.io/s/rupx6fo0
(Keine Sorge, ist nicht mein PW.)

Und dann habe ich sehr viele Kombinationen ausprobiert. Was genau sind die richtigen Werte und was genau muss ich eintragen?
Bildschirmfoto 2023-12-07 um 18.03.18.png

Oder ist eventuell die Installation nicht richtig?
Eventuell geht es sogar mit dne richtigen wärten nicht, oder?

Ich komme. nicht weiter -.-
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Das Compose file sieht auf den ersten Blick richtig aus. adminer ist im selben Container-Netzwerk wie der db, der Service-Name ist db, Datenbank, Benutzer und Passwort sind mit joplin88 überall konsistent benutzt und müssen dann entsprechend auch in adminer verwendet werden.

Ich vermute das Problem eher an einer anderen Stelle: Postgres legt beim ersten Start die Datenbank mit dem Benutzer und Passwort an, aber auch, nur wenn das Verzeichnis das gegen /var/lib/postgresql/data gemappt ist vorher leer war. Einmal angelegt werden Änderungen am Compose File nicht auf die Datenbank übertragen.
 

Tommi2day

Benutzer
Mitglied seit
24. Aug 2011
Beiträge
1.187
Punkte für Reaktionen
71
Punkte
68

ElaCorp

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
819
Punkte für Reaktionen
61
Punkte
48
Ja, es stimmt. Ich habe in Portianer diese Admina Werte hinzugefügt und nochmal installiert.
Um es deutlich zu sagen. Anfangs verwendete ich vor Monaten nur den Jooplin Bereich.
Dann habe ich das Problem mit der DB und habe Admina hinzugefügt und das Script nochmal ausgeführt.

Ist das das Problem? Kann Admina nicht darauf zugreifen?

Und was muss ich nun tun?

Oder mit welchem anderen Programm könnte ich die DB korrigieren?
Ich will ja nur das Problem lösen.
 

Tommi2day

Benutzer
Mitglied seit
24. Aug 2011
Beiträge
1.187
Punkte für Reaktionen
71
Punkte
68
Die Lösung des DB Problems stand doch in dem Link in #3.
Dazu mit "docker exec -it <container> bash" oder synology container terminal diese kommandos absetzen
psql <dbname>
REINDEX DATABASE <dbname>;
ALTER DATABASE <dbname> REFRESH COLLATION VERSION;
\q
 
  • Like
Reaktionen: ElaCorp

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
853
Punkte
154
Du solltest <dbname> durch deinen DB Namen ersetzen. Du kannst das nicht einfach kopieren und einfügen.
 

Tommi2day

Benutzer
Mitglied seit
24. Aug 2011
Beiträge
1.187
Punkte für Reaktionen
71
Punkte
68
Ich dachte, das wäre klar, der dbname muss ersetzt werden. Vorher wie immer bei Arbeiten an einer postgresql DB am root prompt ein "su - postgres" machen. Bitte die Befehle auch einzeln absetzen, nicht copy/paste
 

ElaCorp

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
819
Punkte für Reaktionen
61
Punkte
48
Du solltest <dbname> durch deinen DB Namen ersetzen. Du kannst das nicht einfach kopieren und einfügen.
Das habe ich im zweiten Versuch ja gemacht. In meinem Link oben, wie ich die DB instaliert habe, würde ich sagen, dass die Datenbank auch db heißt. Genau damit habe ich es dann versucht.
Es wird angezeigt, dass der Benutzer root nicht darauf zugreifen kann. Könnt ihr nochmal die Zweite Hälfte von meinem Foto PRotokoll Konsole schaune? und mit dem Link vom Composer aus Portianer vergleichen?

So schaut es nun aus:
Bildschirmfoto 2023-12-12 um 14.57.16.png
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Nein, die db heißt joplin88
 
  • Like
Reaktionen: ElaCorp

ElaCorp

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
819
Punkte für Reaktionen
61
Punkte
48
Danke dass ihr mir helft.
Immer wenn ich eine Sache verstanden habe, kommen andere neue DInge. Ganz schön schwer für mich.

Nun habe ich das genau so gemacht. Vorher [su - postgres] das abgeschcikt und dann [psql joplin88] (mein eigener DB Name. Im Script sind das Platzhalter.) Aber es kommt der Fehler wie oben schon gezeigt.

psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" f
ailed: FATAL: role "postgres" does not exist
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
853
Punkte
154
Annanhme aus der Compose (DB), also anpassen:
Code:
environment:
            - POSTGRES_PASSWORD=joplin88
            - POSTGRES_USER=joplin88
            - POSTGRES_DB=joplin88

Dann mach mal folgendes:
psql -U joplin88 joplin88

Das -U gibt den Usernamen an den er verwenden soll.
 

ElaCorp

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
819
Punkte für Reaktionen
61
Punkte
48
Ich vermute, dass es funktioniert hat.

Das ist passiert:
Bildschirmfoto 2023-12-12 um 15.17.17.png

Nun kann sich der normale Joplin Docker aber nicht mit der DB verbinden. Dort steht im PRotokoll:

Error: Timeout trying to connect to database. Last error was: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?
 

ElaCorp

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
819
Punkte für Reaktionen
61
Punkte
48
Vielen Herzlichen Dank.
Nun funktioniert es wieder.

Das mit der Firewall stimmt auch, anscheinend wurde ein weiteres Netzwerk angelegt und ich musste die IP anpassen.

Nun steht hier alles was man wissen muss, um dieses Joplin Problem erfolgreich zu beheben hier in diesem Beitrag. Ich wünsche anderen erfolg damit.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Du kannst die Firewall auch so einstellen, dass alle Docker-Netze freigegeben sind:
1.png
 
  • Like
Reaktionen: ElaCorp

ElaCorp

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
819
Punkte für Reaktionen
61
Punkte
48
Bei mir schaut es so aus:

Soll ich das anders mit diesen 255 eintragen? Falls ja, welche Zahlen genau.

Oder soll ich das mit diesem IP Bereich machen?

Bildschirmfoto 2023-12-12 um 18.59.49.png

Jetzt woch ich das so sehe, machen eventuell die ersten zwei Einträge gemeinsam keinen Sinn. Ist das nicht zwei mal das gleiche?
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Nein. Private Netze befinden sich nur von 172.16.0.0 bis 172.31.255.255. Das kannst du vielleicht auch so bei "IP-Bereich" eintragen. Das habe ich noch nicht getestet.
Insofern wählst du oben "Subnetz" aus und trägst dann bei "IP-Adresse" die 172.16.0.0 ein und bei "Subnetzmaske" die 255.240.0.0
 
  • Like
Reaktionen: ElaCorp


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat