Vaultwarden und Containerupdate

Chibi88

Lt. Commander
Registriert
Dez. 2007
Beiträge
1.266
Hallo,

vielleicht kann mir hier jemand helfen. Ich habe auf meinem Server Vaultwarden laufen. Wenn ich Vaultwarden updaten möchte, muss ich laut Doku nur den neuen Container pullen, den alten Container und das dazugehörige Image löschen und den Container neu starten. Da ich ein Volume habe, bleibt mein Account auch bestehen.

Leider ist mir aufgefallen, dass die sich im Container befindlichen Environment Variables ebenfalls gelöscht werden, wenn ich den Container update. Heißt: ich muss jedes mal neu in den EV die Options zum Logs erstellen setzen, damit Fail2Ban funkioniert, die Admin Page setzen und die SMTP Einstellungen setzen.

Weiß jemand, ob ich diese Einstellungen ebenfalls bei einem Update behalten kann? Wäre halt ziemlich nervig, dies jedes mal neu einstellen zu müssen.

Grüße
 
Chibi88 schrieb:
Leider ist mir aufgefallen, dass die sich im Container befindlichen Environment Variables ebenfalls gelöscht werden,
woher kommen die?
Normalerweise legst du die umgebungsvariablen in eine datei, bspw. .env, die dann beim bau des image gesourced wird. Oder sie werden beim start gelesen und im container "bereitgestellt"

envfile finde ich am leichtesten: https://docs.docker.com/compose/environment-variables/set-environment-variables/ -> Use the env_file attribute

Dann kannst du wie du lustig bist images / repos updaten, aber hast eine datei, in der schon alles passt, die dann nur noch eingelesen werden muss
 
  • Gefällt mir
Reaktionen: BeBur und DBJ
Benutzt du "Docker" oder "Docker Compose"? Auf was für einem Server läuft das?
Normalerweise sind die Einstellungen in einem persistenten Verzeichnis abgelegt und werden bei einm Update des Images nicht überschrieben.
 
Okay. Hast du das /data Verzeichnis als Volume gemountet?

In diesem Ordner sollte es dann ungefähr so aussehen:
1689012571335.png

Die config.json enthält dann die Umgebungsvariablen.
 
  • Gefällt mir
Reaktionen: Chibi88
Ich habe jetzt leider keine Möglichkeit zu gucken.

In Portainer habe ich ein Volume erstellt und es zeigt auf /Data/. Müsste also auf meinem Server unter /mnt sichtbar sein oder?
 
Chibi88 schrieb:
In Portainer habe ich ein Volume erstellt und es zeigt auf /Data/. Müsste also auf meinem Server unter /mnt sichtbar sein oder?
Du muss in Portainer nachschauen, welches Verzeichnis du für das Volume verwendest.
 
Also es sieht gut aus. Nach dem Löschen des Containers und dem Neuzuweisen des Volumes habe ich Zugriff auf meine Daten. SMTP funktioniert und ich habe weiterhin Zugriff auf mein Admin Panel.

Ich habe Vaultwarde mit Fail2ban eingerichtet. Fail2ban bannt auch und es funktioniert, jedoch ist mir aufgefallen, dass dies nach dem Prozess, also Container löschen, Image entfernen und neu deployen (simulieren eines Updates) nicht mehr funktioniert.

In der Doku habe ich folgendes dazu gefunden:
When this environment variable is set, log messages will be logged to both stdout and the log file. If you're running in Docker, you'll most likely want to use a file path that is mounted from the Docker host (such as the data folder); otherwise, your log file will be lost (or at least hard to find) if the container is restarted or removed.

ich bin verwirrt. Mein Volume heißt vw-data und das pointed in /data/. Es funktioniert ja auch weiterhin SMTP und mein Admin Panel, also sind die Dateien ja auch gespeichert. Ich sehe auch das Vaultwarden.log-file aber es wird anscheinend nicht mehr geupdated. Kann mir einer sagen, woran das liegen könnte?
 
Du musst festlegen, wo das Logfile liegen soll und welchen Loglevel du haben möchtest:
1689085894084.png

(Ich habe ein eigenes Unterverzeichnis für das Logfile im /data Ordner erstellt. Die meisten legen es direkt in den /data Ordner)

Prüfe im Vaultwarden Admin Panel, ob hier wirklich ein "Log file path" eingetragen ist.
 
  • Gefällt mir
Reaktionen: Chibi88
Tatsächlich ist das da nicht mehr verknüpft. Wie kann das denn passieren? Alle anderen Einstellungen sind ja noch vorhanden und funktionieren?!

Ist natürlich blöd, wenn ich zukünftig mit Watchtower die Container aktualisieren lasse und das dann zerschießt und Fail2Ban nicht mehr möglich ist.
 
Warum nimmst du nicht Portainer zum Verwalten und Updaten der Container da musst du nur auf Duplicate/Edit und Deploy klicken und er rollt das Update mit allen Einstellungen aus du kannst dir die Environment Variablem da auch nochmal angucken oder sie verändern
 
Zurück
Oben