Bitwarden auf der Synology (Docker)

King3R

Benutzer
Mitglied seit
14. Mrz 2017
Beiträge
361
Punkte für Reaktionen
82
Punkte
28

myfri09

Benutzer
Mitglied seit
02. Feb 2019
Beiträge
7
Punkte für Reaktionen
0
Punkte
1
Danke habe ich gesehen. :)

Um den Bitwarden Image zu updaten gibts keinen direkten Befehl in der Shell? d.h neuen Image herunterladen und DB zurück kopieren?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.526
Punkte für Reaktionen
413
Punkte
103
zurück kopieren?

Eine direkten Befehl gibt es nicht: neus Image pullen, alten Container wegwerfen, neuen Container mit denselben Parametern starten.

Mit docker-compose wird das nochmal deutlich einfacher:
- Wenn Tag latest benutzt: docker-compose pull && docker-compose up -d
- Wenn eine expliztite Version eines Tag benutzt wird: docker-compose.yml angpassen, dann docker-compose up -d

Watchtower würde ich auch noch als Shell-Variante zählen:
Es ist ein Container der die Docker-Engine instrumentalisiert und dabei nach neuen Image-Versionen ausschau hält und das ganze Tamtam mit pull, rm, create und run für dich automatishc macht. Nähere Infos siehe Forums-Suche.

Für Menschen die eine absolute Abneigung gegen die Shell haben: man kann Container-Updates wohl auch durch rumklicken in der die UI hinbekommen.
 

myfri09

Benutzer
Mitglied seit
02. Feb 2019
Beiträge
7
Punkte für Reaktionen
0
Punkte
1
Super!! Vielen Dank für die Infos an alle! :)

Werde mir den Watchtower genauer anschauen. Cool!

Top Forum!!
 

King3R

Benutzer
Mitglied seit
14. Mrz 2017
Beiträge
361
Punkte für Reaktionen
82
Punkte
28
Für Menschen die eine absolute Abneigung gegen die Shell haben: man kann Container-Updates wohl auch durch rumklicken in der die UI hinbekommen.

1. Docker -> Container
1.1. Einstellungen exportieren​
1.2. Container stoppen​
1.3. Container löschen​
2. Docker -> Abbild
2.1. Abbild löschen​
3. Docker -> Registrierung
3.1. Aktuellen Container herunterladen​
4. Docker -> Container
4.1. Einstellungen importieren​
4.2. Container ggf. starten​

Wenn ich den Container einfach stoppe und dann das Update über die GUI lade, aktualisiert sich das Abbild nicht. Es wird zwar eine 1 für ein neues Abbild angezeigt, wie wenn man es zum ersten Mal installiert, aber eine Aktualisierung findet nicht statt. Ich weiß nicht genau ob das ein Bug ist, daher ist über die GUI die Vorgehensweise wie oben anzuraten. Sollte jemand eine Idee habe wie es trotzdem funktioniert, wäre ich über einen Hinweis dankbar.
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.526
Punkte für Reaktionen
413
Punkte
103
Das genau Vorgehen ist hier irgendwo im Forum beschrieben. Der Legende nach soll nach dem pullen des Images die Aktion "clear bzw. Inhalt löschen" auf dem Container zu einem frischen Container auf Basis des neuen Images führen.
 

Aardyena

Benutzer
Mitglied seit
12. Jan 2019
Beiträge
30
Punkte für Reaktionen
3
Punkte
8
Moin,
zum Thema update des Bitwarden Images hätte ich auch noch Fragen .. ich betreibe Bitwarden über einen Reverse Proxy nach außen hin, auch SSL-Verschlüsselt über Let's Encrypt. Daher ist es mir natürlich besonders daran gelegen mein Image immer aktuell zu halten. Mit Docker habe ich allerdings nicht ganz so viel Erfahrung. Meinem Verständnis nach hätte ich einfach nur ein neues Image pullen müssen, und das mit den gleichen Parametern wie das alte Image starten können. Ich habe den alten Container erstmal nur gestoppt und den neuen Container über einen anderen Port gestartet und den Port im Reverse Proxy dann anschließend geändert. Hat auch funktioniert, konnte von außen hin auf die neue Version meines Bitwarden zugreifen, allerdings konnte ich mich nicht mehr einloggen, denn offenbar hat er das persistant volume nicht gefunden, sondern sich ein eigenes erstellt. Unter /@docker/volumes/ gibt es auch einige verschiedene Volumes die mit BW zu tun haben.

Hat jemand eine Idee wie ich das Problem lösen könnte? Oder sollte ich einfach mal meine Bitwarden Datenbank über die Export-Funktion exportieren, alle volumes weglöschen, alle Bitwarden Container löschen und dann sauber einen neuen Bitwarden Container erstellen? Hilft mir halt auch nicht wenn ich das immer so machen muss.
 

Brudertac

Benutzer
Mitglied seit
03. Jun 2016
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
Also Bitwarden hat eine eingebaute Updatefunktion die du verwenden solltest. Damit werden alle Container aktualisiert.
Schau dir mal die Doku an. Das ganze läuft über einen SSH Client (Putty zb.)
 

Aardyena

Benutzer
Mitglied seit
12. Jan 2019
Beiträge
30
Punkte für Reaktionen
3
Punkte
8
Das ist mal eine schnelle Antwort :D
Über Putty habe ich über find überhaupt die persistant volumes gefunden. Ich nutze das bitwardenrs/mprasil Image weil das so schön schlank ist, in der Doku stand:
# Pull the latest version
docker pull bitwardenrs/server:latest

# Stop and remove the old container
docker stop bitwarden
docker rm bitwarden

# Start new container with the data mounted
docker run -d --name bitwarden -v /bw-data/:/data/ -p 80:80 bitwardenrs/server:latest

Das Problem was ich nun sehe (könnte auch falsch liegen?), dass für jeden Container ein eigenes Persistant Volume erstellt wird, auf dass der jeweilige Container zugreift.
 

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.222
Punkte für Reaktionen
76
Punkte
114

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.222
Punkte für Reaktionen
76
Punkte
114
Ich meinte die Erstinstallation von Bitwarden auf der Synology!

Aktualisiert werden meine Container alle automatisch über watchtower...die verbleibenden Images/Volumes löscht dann docker-gc automatisch!
 

King3R

Benutzer
Mitglied seit
14. Mrz 2017
Beiträge
361
Punkte für Reaktionen
82
Punkte
28
Hat jemand eine Idee wie ich das Problem lösen könnte? Oder sollte ich einfach mal meine Bitwarden Datenbank über die Export-Funktion exportieren, alle volumes weglöschen, alle Bitwarden Container löschen und dann sauber einen neuen Bitwarden Container erstellen? Hilft mir halt auch nicht wenn ich das immer so machen muss.

Es gibt meines Wissen zwei Docker-Container die einem die Arbeit mit dem Aktualisieren abnehmen und das automatisieren.

https://hub.docker.com/r/containrrr/watchtower/
https://hub.docker.com/r/pyouroboros/ouroboros/

Dabei sollten die Einstellungen und eingebunden Pfade erhalten bleiben. So ist es jedenfalls bei mir.
Was man jedoch beachten sollte, die o. g. Container greifen auf Docker-API zu, um die Container zu akualisieren. In der Doku steht z. B. bei Watchtower dazu

Since the watchtower code needs to interact with the Docker API in order to monitor the running containers, you need to mount /var/run/docker.sock into the container with the -v flag when you run it.

Run the watchtower container with the following command:

Rich (BBCode):
docker run -d \
  --name watchtower \
  -v /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower

Leider kann man /var/run/docker.sock nicht direkt über die Oberfläche einbinden. Nun hat man zwei Möglichkeiten um das Ganze zum Laufen zu bringen.

  1. Man erstellt den Container unter Einbeziehung aller Einstellungen wie oben über einen SSH-Client. Die Einbindung der Ordner kann ggf. später über die Einstellungen erfolgen. Ein eventueller Zugriff auf die /var/run/docker.sock muss bei jedem Container separat über einen SSH-Client eingerichtet werden.
  2. Man erstellt einen Symlink über einen SSH-Client von /var/run/docker.sock auf einen Ordner auf den man über die DSM Zugriff hat z.B. /volume1/docker/docker.sock.
    Rich (BBCode):
    ln -s /var/run/docker.sock /volume1/docker/docker.sock
    Danach kann man über die Docker-GUI die Container auf die Docker-API über den Symlink zugreifen lassen und somit den Container auch über die Docker-GUI anlegen.

Diese beiden o. g. Container habe ich bei mir immer mal im Wechsel am Laufen. Soweit funktioniert alles.

Ich meinte die Erstinstallation von Bitwarden auf der Synology!

Aktualisiert werden meine Container alle automatisch über watchtower...die verbleibenden Images/Volumes löscht dann docker-gc automatisch!

Ah sorry, irgendwie hab ich meinen letzten Antwort beim reorganisieren irgendwie gelöscht. :( Daher nochmal vorangegangen der komplette überarbeitete Beitrag. Meines Wissen gibt es keine Möglichkeit den Teil mit der Docker-API und der Shell zu umgehen. Das Anlegen dieses Symlinks hat bei mir über die normale Aufgabenplanung leider nie funktioniert. Für Lösungsvorschläge wäre ich auch offen.
 

adahmen

Benutzer
Mitglied seit
12. Okt 2009
Beiträge
561
Punkte für Reaktionen
11
Punkte
38
Für das Update nutze ich genau diese hier beschrieben Lösung:
https://help.bitwarden.com/article/updating-on-premise/

Das läuft wunderbar. Probleme gibt es manchmal amm Ende des Scriptes, da die Datenbank nicht schnell genug gestartet wird (hier scheinen 60 Sekunden im Script teilweise nicht zu reichen).
Dann einfach nochmal das Script mit dem Parameter -updatedb starten und voila --- alles wieder okay.
 

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.222
Punkte für Reaktionen
76
Punkte
114
Meines Wissen gibt es keine Möglichkeit den Teil mit der Docker-API und der Shell zu umgehen. Das Anlegen dieses Symlinks hat bei mir über die normale Aufgabenplanung leider nie funktioniert. Für Lösungsvorschläge wäre ich auch offen.

Danke für die Info! Schade...

Das mit dem Symlink hab ich auch über die Shell gemacht - kenne keine andere Möglichkeit, brauchte ich damals für Portainer :)
 

King3R

Benutzer
Mitglied seit
14. Mrz 2017
Beiträge
361
Punkte für Reaktionen
82
Punkte
28
Für das Update nutze ich genau diese hier beschrieben Lösung:
https://help.bitwarden.com/article/updating-on-premise/

Deine Vorgehensweise betrifft den den originalen Bitwarden-Server direkt vom Hersteller. Läuft der bei dir geschwindigkeitsmäßig zufriedenstellend? Welche Diskstation nutzt du dafür, wenn ich fragen darf? Leider lässt sich das Vorgehen vom original Server nicht eins zu eins auf den schlankeren Container https://hub.docker.com/r/mprasil/bitwarden/ übertragen.
 
Zuletzt bearbeitet:

adahmen

Benutzer
Mitglied seit
12. Okt 2009
Beiträge
561
Punkte für Reaktionen
11
Punkte
38
Ich nutze es auf meiner 415+ ... jedoch aufgerüstet auf 8 GB RAM.
Mit Standard-Ram (2 GB) lief es in der Tat "grottenlangsam". Problem ist der Datenbank-Container.

Mit 8 GB ist die Performance absolut okay und gut!

Bei solch kritischer Anwendung bzw. kritischen Daten würde ich persönlich immer die Original-Version nehmen.
 

MooDoo

Benutzer
Mitglied seit
21. Mai 2018
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
Hallo Community,

ich bekomme Bitwarden irgendwie nicht zum laufen auf meiner DS218+ mit 10GB Ram.

Ich verfolge die Anleitung von Bitwarden und aus dem XPen*** Forum. Soweit so gut. Leider bekomme ich beim Befehl "./Bitwarden.sh start" folgenden Fehler:
Creating bitwarden-nginx ... error

ERROR: for bitwarden-nginx Cannot start service nginx: driver failed programming external connectivity on endpoint bitwarden-nginx (a47d104e31d0448c530e945a1259252450d04f1d342847f7a210993f2124d18c): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use

ERROR: for nginx Cannot start service nginx: driver failed programming external connectivity on endpoint bitwarden-nginx (a47d104e31d0448c530e945a1259252450d04f1d342847f7a210993f2124d18c): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use
ERROR: Encountered errors while bringing up the project.
Hier mein Log aus Putty

Ich verzweifel gerade, wie ich es vorher in der config.yml ändern könnte.
Ich habe auch schon versucht den Container durch try+error-Prinzip selbst in Docker zum Laufen zu bekommen und die Fehler aus dem Protokoll zu lösen. Jedoch komme ich spätestens bei den Pfaden Probleme welche /etc/ und welche /var/ sein sollen und komme dort auch ehrlich gesagt nicht mehr weiter....

Ich habe auch schon die Reverse-Proxy-Regel (wobei ich das nicht verstehe, was das bringen bzw wirken soll?) hinzugefügt, wie im Bild zu sehen ist:
Unbenannt.PNG

Könnt ihr mir irgendwie helfen?
 

NEWDS

Benutzer
Mitglied seit
05. Aug 2012
Beiträge
115
Punkte für Reaktionen
4
Punkte
18
Port 443 und Port 80 wird von standardmäßig von der Webstation verwendet. Du musst den Port von Bitwarden in der config.yml ändern.


Beispiel:
Rich (BBCode):
http_port: 81
https_port: 4433
 

MooDoo

Benutzer
Mitglied seit
21. Mai 2018
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
Danke für deine Antwort NEWDS. Ich habe die config.yml wie folgt nun geändert:
Rich (BBCode):
url: http://meinedomain.de
generate_compose_config: true
generate_nginx_config: true
http_port: 81
https_port: 4433
compose_version: 
ssl: false
ssl_versions: 
ssl_ciphersuites: 
ssl_managed_lets_encrypt: false
ssl_certificate_path: 
ssl_key_path: 
ssl_ca_path: 
ssl_diffie_hellman_path: 
push_notifications: true
database_docker_volume: false
real_ips:

Nun möchte ich über Docker den Container nginx starten und bekomme den Fehler im Protokoll:

Rich (BBCode):
Start container bitwarden-nginx failed: {"message":"driver failed programming external connectivity on endpoint bitwarden-nginx (1e01b38a333ba910e11b82e18dcc6a16b326ce6c784ad22e89177cc874e2aed1): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use"}.
obwohl ich den Port ja wie oben zu sehen geändert habe...
Entweder liegt es am Schlafmangel oder ich verstehe etwas grundlegendes nicht (was ich beides nicht ausschließen möchte) :confused: :confused:

PS: über Putty mit ./bitwarden.sh start ist es immer noch gleich.
Rich (BBCode):
ERROR: for bitwarden-nginx  Cannot start service nginx: driver failed programmin                                                  g external connectivity on endpoint bitwarden-nginx (1dfcfdde195d4f8d3f2395c2bc4                                                  c5bb667d91e9cdb11d006d99c5ca1e4859ea5): Error starting userland proxy: listen tc                                                  p 0.0.0.0:443: bind: address already in use

ERROR: for nginx  Cannot start service nginx: driver failed programming external                                                   connectivity on endpoint bitwarden-nginx (1dfcfdde195d4f8d3f2395c2bc4c5bb667d91                                                  e9cdb11d006d99c5ca1e4859ea5): Error starting userland proxy: listen tcp 0.0.0.0:                                                  443: bind: address already in use
ERROR: Encountered errors while bringing up the project.
 
Zuletzt bearbeitet:


 

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