Vaultwarden Update im Docker hängt

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

AdvancedFabian

Benutzer
Registriert
11. Dez. 2020
Beiträge
31
Reaktionspunkte
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:
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).
 
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
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
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
So verfasst updated er alle laufenden container richtig?
 
Zuletzt bearbeitet von einem Moderator:
Es werden auch die geupdated, die gerade nicht laufen. Alle die eingerichtet sind.
 
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:
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
... oder weglassen, dann macht er alle.
 
  • Like
Reaktionen: ctrlaltdelete
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:
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.
 
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.
 

Additional post fields

 

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