Probleme mit Vaultwarden nach Postgres Versionswechsel 16 -> 17

mikadoNA

Benutzer
Mitglied seit
12. Jun 2013
Beiträge
92
Punkte für Reaktionen
13
Punkte
8
Hallo,
ich nutze Vaultwarden jetzt seit ca. 1/2 Jahr nach der Anleitung von Mariushosting (Docker mit Portainer, den Stack habe ich angehängt) und bin damit sehr zufriedern.
Watchtower hat mich bisher auch immer auf dem aktuellen Stand gehalten. Nur letzte Woche hat Watchtower das neue Image Vaultwarden-DB installiert. Dabei wurde die genutzte Datenbank von Version 16 auf 17 angehoben. Seit dem Startet die datenbank nicht mehr. Das Lofile enthält folgende Fehlermeldungen:

024/09/28 04:24:57stderr2024-09-28 02:24:57.039 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.0 (Debian 17.0-1.pgdg120+1).
2024/09/28 04:24:57stderr2024-09-28 02:24:57.039 UTC [1] FATAL: database files are incompatible with server

In Foren und Git habe ich nur gefunden, dass man dies mit einem Skript pg_upgrade behoben werden kann. Das soll aber unter Docker nicht funktionieren.
Wie geht Ihr damit um ? Gibt es da eine bessere Möglichkeit als Export der Daten, Löschen und neu erstellen des Vaultwarden im Docker und wieder Import ?
Die Datenbankversion wird sich ja weiter entwickeln und dieses Prozedere nach jedem Upgrade ?
Wie oft ändert sich denn bei Postgres die Major-Versionsnummer ?

Für Eure Hilfe wie ich da raus komme bin ich dankbar.
Viele Grüße
mikado
 

Anhänge

  • Stack.txt
    1,5 KB · Aufrufe: 6

Der Paul

Benutzer
Mitglied seit
04. Feb 2014
Beiträge
131
Punkte für Reaktionen
26
Punkte
28
In Deinem Fall würde ich - als erste, schnelle Maßnahme - ein Restore aus dem Backup machen und die alte Version von Postgres im compose fest hinterlegen. Dann kommst Du auf alle Fälle wieder an Deinen Vault.

Als nächstes würde ich mir die Frage stellen, ob ich wirklich eine separate DB benötige. Wenn Du mit der Benutzerzahl im Rahmen bleibst, sollte die "eingebaute" SQLite meist reichen. Dadurch bist Du auch etwaige Abhängigkeiten los (unabhängig davon, wie sinnvoll watchtower&co überhaupt sein mögen).

Um dann noch ganz auf Nummer sicher zu gehen, kannst Du bspw. ttionya/vaultwarden-backup verwenden, um den Vault auch als passwortgeschütztes Zip ins Dateisystem exportieren zu lassen.
 
  • Like
Reaktionen: mj084 und mikadoNA

Hellraiser123

Benutzer
Sehr erfahren
Mitglied seit
31. Jul 2024
Beiträge
764
Punkte für Reaktionen
412
Punkte
139
Wie geht Ihr damit um ?
In dem ich mir Datenbank Dumps erzeuge. Es ist nun mal bekannt, dass ein Update der Major Versionen bei PostgreSQL nicht immer kompatibel sind. Daher Dumps..... Vor allem wieso updaten, wenn die Software die Features gar nicht nutzt oder damit bis jetzt getestet wurde.
Wie oft ändert sich denn bei Postgres die Major-Versionsnummer ?
Ich würde eher gucken wie lange die anderen Versionen noch komplett supportet werden. Nochmal die Frage. Wieso brauchst du die neuste Version? Bist du Entwickler und auf die Features angewiesen? Oder was erhoffst du dir davon?

Ich würde auch eher zu SQLite wechseln. Du merkst keinen Unterschied und hast diese Probleme nicht.

kannst Du bspw. ttionya/vaultwarden-backup verwenden
Ich würde mir noch Lazywarden angucken. Das kann dir auch einen regelmäßigen Export für Keepass erzeugen lassen. Dann musst du im Problemfall nicht alles neu aufsetzen, damit du erst an die Passwörter kommst.
 
  • Like
Reaktionen: mikadoNA und mj084

Hellraiser123

Benutzer
Sehr erfahren
Mitglied seit
31. Jul 2024
Beiträge
764
Punkte für Reaktionen
412
Punkte
139
Wenn die Leute sich auch mal damit mehr befassen würden, dann wäre die Seite von Marius tot. Jedes Projekt bietet eine fertige Docker Compose an. Da braucht man ja keine Anleitung für.....
Es gibt ja auch nie groß Hinweise was man beachten sollte. Wie z.B. mit PostgreSQL Updates. Ich verstehe auch nicht wieso hier immer auf die Seite verlinkt wird. Die Docker Compose wird bei ihm auch nicht aktualisiert. Wenn die Anwendung Änderungen hat, dann passt er es nicht an.

Edit: Vor allem macht er jetzt wohl die selben Anwendungen für UGreen als eigenes HowTo. Docker bleibt Docker, egal welches OS/System.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: mj084

mj084

Benutzer
Mitglied seit
14. Feb 2024
Beiträge
259
Punkte für Reaktionen
57
Punkte
28
Naja, er muss halt schauen, dass seine FB-Gruppe weiter wächst ;)
 

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
14.073
Punkte für Reaktionen
6.086
Punkte
569
Du musst im Vaultwarden Stack nur die DB auf Version 16 festlegen und den Stack updaten.
Code:
version: "3.9"
services:
  db:
    image: postgres:16
Edit: Bei der Anleitung von Marius ist die DB Version fest eingetragen!
 

Anhänge

  • 1727686669216.png
    1727686669216.png
    18,2 KB · Aufrufe: 16
Zuletzt bearbeitet:
  • Like
Reaktionen: bertoal und mikadoNA

mikadoNA

Benutzer
Mitglied seit
12. Jun 2013
Beiträge
92
Punkte für Reaktionen
13
Punkte
8
@ctrlaltdelete und @Der Paul :
Danke das hat geholfen.

An die anderen:
Ich werde mal prüfen wie lange Postgres 16 supportet wird und wann ein Umstieg auf eine spätere Postgres-Version bzw. eine andere Datenbank sinnvoll ist.
 
  • Like
Reaktionen: ctrlaltdelete

bertoal

Benutzer
Mitglied seit
20. Feb 2021
Beiträge
164
Punkte für Reaktionen
90
Punkte
78
Du musst im Vaultwarden Stack nur die DB auf Version 16 festlegen und den Stack updaten.
Code:
version: "3.9"
services:
  db:
    image: postgres:16
super, das hat mich auch gerade "gerettet"

Edit: Bei der Anleitung von Marius ist die DB Version fest eingetragen!

aber wohl auch erst seit kurzem - bei meiner Erst-Installation noch nicht - aber dafür gibt es ja zum Glück auch dieses Forum (und ein paar graue Gehirnzellen, die sich glücklicherweise an dieses Topic hier erinnert haben)
 
  • Like
Reaktionen: ctrlaltdelete

Serifenlos

Benutzer
Mitglied seit
29. Aug 2014
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
oh mein Gott… ich hatte schon gedacht ich hätte gerade mein halbes Leben verloren. Unvorstellbar ohne Passwort-Manager. Ich danke euch vielmals… die Anleitung (#7) oben hat perfekt funktioniert. Werde eure Zwischenkommentare mal beherzigen … aber später. Soweit, danke für den Fisch.
 

metalworker

Benutzer
Sehr erfahren
Mitglied seit
25. Apr 2023
Beiträge
3.533
Punkte für Reaktionen
1.364
Punkte
194
Kleiner Tipp noch von mir .
Immer mal nen Aktuellen Ausdruck machen von den Kennwörtern. Und den Sicher aufbewahren.
 
  • Like
Reaktionen: Benie

*kw*

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
10. Aug 2013
Beiträge
2.842
Punkte für Reaktionen
1.383
Punkte
174
Im Prinzip reicht eins: das des Passwortmanagers…und ein Backup. In den meisten Fällen (online) kann das Passwort zurückgesetzt werde.

Und ja, sqlite reicht meiner Meinung.
 

metalworker

Benutzer
Sehr erfahren
Mitglied seit
25. Apr 2023
Beiträge
3.533
Punkte für Reaktionen
1.364
Punkte
194
Grundlegend hast da recht.
Aber ich find ,einfach ne ausgedruckte Kopie als Notnagel ist schon praktisch. Gerade wenn es mal nen Problem mit dem Projekt gibt.
Bringt ja nix wenn du nen Backup hast der DB , aber du es nicht direkt nutzen kannst weil die Software nicht funktioniert.
Aus welchem Grund auch immer.

Meine Meinung zumindest
 

*kw*

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
10. Aug 2013
Beiträge
2.842
Punkte für Reaktionen
1.383
Punkte
174
Ich sagte ja, „Im Prinzip“. Ein Dokument mit „kws Top 10“ (nicht-online) in Papierform gibt‘s und liegt im Tresor.
 

Benie

Benutzer
Contributor
Sehr erfahren
Mitglied seit
19. Feb 2014
Beiträge
8.980
Punkte für Reaktionen
3.823
Punkte
344
,einfach ne ausgedruckte Kopie als Notnagel ist schon praktisch
ABSOLUT, mache ich schon seit dem 1. Tag Passwort Manager so.
Früher hatte ich das ja eh alles auf Papier, als der Wechsel zum Passwort Manager stattfand, hab ich das einfach fortgesetzt.

Edit : es genügt ja schon diese Liste in einem Software HDD Safe woanders wegzusperren
 

*kw*

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
10. Aug 2013
Beiträge
2.842
Punkte für Reaktionen
1.383
Punkte
174
Ich denke, es führen bekanntlich viele Wege nach Rom. Mein Docker Vaultwarden Verzeichnis hat 23MB, das lässt sich "überall" mal ablegen. So viel ändert sich in der Regel nicht und wenn es zu Probleme käme, einen 100%-Verlust würde ich nie erleiden.
 

bertoal

Benutzer
Mitglied seit
20. Feb 2021
Beiträge
164
Punkte für Reaktionen
90
Punkte
78
Ich würde sofort auf SQLite umsteigen, welche Vorteile bietet Postgres in deinem Szenario genau?
Ratschlag befolgt : nachdem mir das mit dump und Co und dem Damokles-Schwert einer neuen Postgres-Version, deren Umstieg für mich nur schwer handelbar wäre zu heikel war, bin ich auf eine docker-compose gestoßen, die ich mit Marius' Version pimpen konnte (ist doch einfacher und machbarer als befürchtet) . Damit wieder rein in den Portainer (Konsole allein ist noch nicht ;) ) und oh Wunder : es lief sogar.
Nun bin ich noch bei den Randbegradigungen (User und Organisationen etc - vielleicht wäre es auch anders gegangen ) , aber allein der Test eine db.sqlite3 raus- und wieder reinzukopieren fand ich cool (der tägliche Hyper backup - Job freut sich nun mit)
Danke an alle für den Wink mit dem Zaunpfahl und vielleicht hat das Portainer - und Dockergespenst etwas vom Schrecken verloren
 
  • Like
Reaktionen: *kw*


 

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