Vaultwarden Update im Docker hängt

AdvancedFabian

Benutzer
Mitglied seit
11. Dez 2020
Beiträge
31
Punkte für Reaktionen
9
Punkte
58
Liebes Forum,
da die Bitwarden Extensions (Browser,..) nicht mehr gingen habe ich in den Docker geschaut und gesehen dass eine neue Version verfügbar ist.
Hab auf Updaten geklickt aber es scheint bei 94.98% zu hängen...
1708425675853.png
War das eine schlechte Idee?
Wie kann ich das fixen?

Beste Grüße,
Fabian


EDIT:
Image ist updated, aber jetzt startet der Container nicht mehr
1708426599880.png
Shit, war ich zu voreilig? Jetzt ist natürlich auch kein PW-Mananger mehr erreichbar :(
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Vermutung: bei der Aktualisierung wurden Einstellungen vom alten Container übernommen, die jetzt beim neuen nicht mehr Funktionieren.
Neben den eigenen Einstellungen gibt es unter der Haube jede Menge andere Einstellungen die aus dem Image in den Container übernommen werden.

Normalerweise ist ein Container Update = löschen des alten Containers, erzeugen des neuen Container mit derselben Konfig wie vorher auch (so macht man das mit docker run und docker compose. Dabei werden dann default Einstellungen (nicht nur environment Dateien), sondern auch meta-konfiguration vom neuen verwendet.

Vielleicht hat ja jemand eine Idee, wie man die Container Einstellungen exportieren, die Export-json bereinigen und es erneut importieren kann.
Was immer geht ist alten Container löschen und neuen mit denselben Envs manuell selbst anlegen.

Kleiner Tipp: wenn Du über docker compose arbeiten würdest, dann wäre die Konfig in der Compose-Datei und alles würde beim Ersetzen des Images und erneutem Deployment mittels docker-compose up -d "von alleine" funktionieren. Es gibt auch Tools, die einem aus einem bestehenden Container eine Compose-Datei erzeugen (such mal nach autocompose hier im Forum).
 

ctrlaltdelete

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
30. Dez 2012
Beiträge
13.633
Punkte für Reaktionen
5.809
Punkte
524
Code:
#!/bin/bash

# anzupassen:
BackUpDir="/volume2/docker/Docker_BackUps"
IgnoredContainer=(jitsi_jicofo jitsi_jvb jitsi_prosody jitsi_web synology_docviewer_2 synology_docviewer_1)

#–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
for container in $(docker ps --format "{{ .Names }}"); do
    if grep -q "${container}" <<< "${IgnoredContainer[@]}" ; then
        echo "${container} is on ignore list. Skipping this container."
        continue
    else
        echo "${container} export"

    # YAML:
        # https://www.synology-forum.de/threads/docker-container-automatische-docker-compose-file-erstellen-als-backup.110444/post-897496
        docker run --rm -v /var/run/docker.sock:/var/run/docker.sock red5d/docker-autocompose "${container}" > "${BackUpDir}/${container}_$(date +%Y-%m-%d_%H-%M).yml"
        fi
done
find "$BackUpDir" -name "*.yml" -mtime +7 -exec rm {} \;
exit


Oder hiermit:

Code:
#!/bin/bash
BACKUP_DIR="/volume2/docker/Docker_BackUps"
IGNORE_CONTAINERS=(jitsi_jicofo jitsi_jvb jitsi_prosody jitsi_web synology_docviewer_2 synology_docviewer_1)
EXPORT_DATE="$(date +%Y-%m-%d_%H-%M)"

[ ! -d "${BACKUP_DIR}" ] && mkdir -p "${BACKUP_DIR}"
echo "exporting container settings to ${BACKUP_DIR}"

for container in $(docker ps --format "{{ .Names }}"); do
    if grep -q "$container" <<< "${IGNORE_CONTAINERS[@]}" ; then
        echo "${container} is on ignore list. Skipping this container."
        continue
    else
        echo "${container} export"
        /usr/syno/bin/synowebapi --exec api=SYNO.Docker.Container.Profile method=export version=1 outfile="${BACKUP_DIR}/${container}_${EXPORT_DATE}.json" name="${container}"  2> /dev/null
    fi
done
find "$BACKUP_DIR" -name "*.json" -mtime +7 -exec rm {} \;
exit
 
  • Like
Reaktionen: haydibe

AdvancedFabian

Benutzer
Mitglied seit
11. Dez 2020
Beiträge
31
Punkte für Reaktionen
9
Punkte
58
Ich habe das Problem folgendermaßen lösen können:
- Ein neuen Container angelegt und vaultwarden neu installiert. Die wichtigen Passwort-Backups/Files habe ich vorher in einem anderen Ordner gespeichert und auch offline.
- Nachdem der neue Container reibungslos lief, hab ich die Passwort-Files wieder reinkopiert und der Passwortmanager war wieder voll funktionell erreichbar.
- Den Docker-Ordner lasse ich nun wieder im Backup sichern, um so ein gutes Backup für die Passwort-Datenbank zu haben.

Ich werde mich nun damit beschäftigen, wie ich via Watchtower automatisch aktualisieren kann.

Danke an euch alle für die Hilfe, auch via persönlicher Nachrichten usw.
Lg,
Fabian
 
  • Like
Reaktionen: Thonav

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Ich lasse meine Container manuell mit diesem Befehl via watchtower updaten: docker run --rm --name=watchtowertemp -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower:latest --include-stopped --cleanup --run-once
Den kann man in die Aufgabenplanung kloppen. Bei der Ausführung startet er einen watchtower-Container, updatet alles und löscht sich danach selbst.
 
  • Like
Reaktionen: AdvancedFabian

AdvancedFabian

Benutzer
Mitglied seit
11. Dez 2020
Beiträge
31
Punkte für Reaktionen
9
Punkte
58
So verfasst updated er alle laufenden container richtig?
 
Zuletzt bearbeitet von einem Moderator:

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
853
Punkte
154
Es werden auch die geupdated, die gerade nicht laufen. Alle die eingerichtet sind.
 

AdvancedFabian

Benutzer
Mitglied seit
11. Dez 2020
Beiträge
31
Punkte für Reaktionen
9
Punkte
58
Stattdessen hab ich noch dieses Skript gefunden:
docker run -d --name=watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/localtime:/etc/localtime:ro \
-e TZ=Europe/Berlin \
-e WATCHTOWER_INCLUDE_STOPPED=true \
-e WATCHTOWER_SCHEDULE="0 0 4 * * *" \
-e WATCHTOWER_CLEANUP=true
--restart always \
containrrr/watchtower:latest vaultwarden-server1

wieso heißt jedoch der containrrrr vaultwarden-server1 - muss ich hier den container auf meinen namen anpassen? Meiner heißt bitwarden.

Ich hab noch einen uralt-Pihole Container, den ich aber nicht löschen kann. ("Dieser Vorgang kann nicht ausgeführt werden,..) - das image kann ich deshalb auch nicht löschen.
Wie es ausschaut gibts dafür aber keine einfache Lösung, mit SSH & co hab ich keine Erfahrung.
Einfach lassen? Oder habt ihr noch einen "Noob-Tipp" :)

danke
 
Zuletzt bearbeitet von einem Moderator:

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
853
Punkte
154
vaultwarden-server1 heißt der Container, den er überwachen soll. Da musst du den Namen eintragen wie es bei dir heißt.
 
  • Like
Reaktionen: AdvancedFabian

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.772
Punkte für Reaktionen
3.742
Punkte
468
... oder weglassen, dann macht er alle.
 
  • Like
Reaktionen: ctrlaltdelete

wegomyway

Benutzer
Sehr erfahren
Mitglied seit
03. Aug 2022
Beiträge
1.203
Punkte für Reaktionen
519
Punkte
184
Code:
docker run -d --name=watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc/localtime:/etc/localtime:ro \
-e TZ=Europe/Berlin \
-e WATCHTOWER_INCLUDE_STOPPED=true \
-e WATCHTOWER_SCHEDULE="0 0 9 * * *" \
--restart always \
containrrr/watchtower:latest --cleanup

sieht so bei mir aus ... ist der geballten Kompetenz eh bekannt ;), aber darauf achten : die "009 ***" ist bei mir 9Uhr morgens, anderes dann halt die "9" ändern in wasweißich
 
Zuletzt bearbeitet:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.772
Punkte für Reaktionen
3.742
Punkte
468
Ich mache das, wie oben schön erwähnt mit
Code:
docker run --rm --name=watchtowertemp -v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower:latest --include-stopped --cleanup --run-once
manuell zyklisch, da ich nicht will, dass da was automatisch passiert.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Nur mal zum Verständnis: Watchtower erzeugt doch genauso die neuen Container mit derselben Konfiguration, wie den alten Container.
Damit hat man hier genau dasselbe Problem gehabt ...

Außer die Watchtower Entwickler haben sich die Mühe gemacht aus der aktuellen Container Konfiguration alle Standardwerte von Docker, die es beim Anlegen eines Containers setz, und die Werte die über das Image geerbt werden, herauszufiltern beim Neuanlegen. Nur so hätte man die wahre Benutzerkonfiguration. Selbst Autocompose scheint es bei den Compose-Dateien die es erzeugt nicht so zu machen.
 


 

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