matrixdotorg/synapse

Jaytie

Benutzer
Mitglied seit
02. Juli 2013
Beiträge
84
Punkte für Reaktionen
0
Punkte
0
Ah alles klar, dh. ich ersetze das Tag und führe 'Docker-Compose up -d' aus obwohl die Container schon laufen. Dann wird bei denen mit verändertem Tag ein Update ausgeführt.

Allerdings bedeutet das auch, dass ich selbst schauen muss, ob es Updates gibt. Es gibt ja sowas wie Watchtower womit man das automatisieren könnte. Muss ich mir bei Gelegenheit mal ansehen.

Danke dir!
 

haydibe

Benutzer
Mitglied seit
12. April 2016
Beiträge
683
Punkte für Reaktionen
2
Punkte
38
Dann wird bei denen mit verändertem Tag ein Update ausgeführt.
.
Jaein. Der alte Container, basierend auf dem nicht mehr gültigen Tag, wird gelöscht. Ein neuer Container, basierend auf dem nun gültigen Tag, wird erzeugt.

Es gibt Fälle, wo ein festes Tag (bspw. latest) immer auf das neueste Image zeigt. Docker-compose hat keine Möglichkeit zu erkennen, ob ein Tag immer noch dasselbe Image referenziert.
In diesen Fällen kann Watchtower dem Benutzer die Arbeit abnehmen selbst nachschauen zu müssen und ggf. mit `docker-compose pull` die Images und damit die Container zu aktuallisieren.

Bei unveränderlichen Tags hilft Watchtower nicht wirklich weiter, da sich hier das Image hinter dem Tag nie verändert. Selbst wenn das updaten mit Watchtower in solchen Fällen funktioniert, hat man spätestens mit dem nächsten 'docker-compose up -d' wieder genau das Image im Einsatz, dass in der docker-compose.yml hinterlegt ist. Kann aber auch sein, dass ich mich beim letzten Punkte irre.. Auf der DS habe ich nur noch Watchtower und einen Container mit einem veränderlichen Tag.
 

Jaytie

Benutzer
Mitglied seit
02. Juli 2013
Beiträge
84
Punkte für Reaktionen
0
Punkte
0
Alles klar, verstehe. Der Tag :latest ist mir derzeit noch zu riskant. Ich möchte mir nichts mit einem Update zerschießen, was ja auch die Automatisierung mit Watchtower erstmal ausschließt. Das schöne an Docker-Compose ist ja auch, dass man testweise schnell einen weiteren Container mit einem neueren Image starten und testen kann.
 

DerBjoern

Benutzer
Mitglied seit
04. Juni 2020
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Hallo,

leider habe ich keine für mich taugliche Schritt für Schritt Anleitung bis jetzt gefunden. Ich habe den Dockercontainer über die Dockeranwendung im punkt Registrierung herunter geladen und installiert. Leider finde ich nirgendwo was passendes wie ich Volumes mounten muss?
Habe es versucht meinen Ordner auf der Syno unter den Einstellungen ->Container->Bearbeiten->Volume auf
"/data" (hat er gar nicht angenommen)
"/synapse-data" (das hat er zumindest akzeptiert)
zu mounten. Leider wird nach dem Starten des Containers dieser gleich wieder beendet. Auch in dem gemounteten Ordner sind keine Daten wie configs etc. erstellt worden?
Was mache ich falsch, bzw. wie kann ich rausfinden was ich falsch mache??
Habe keine funktionierenden Anleitungen gefunden...
 

DerBjoern

Benutzer
Mitglied seit
04. Juni 2020
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
ok, habe nun verstanden das ich erst die konfig generieren lassen muss. nun gebe ich folgenden befehl an nachdem ich mich mit putty per ssh verbunden habe und mir mit sudo su die macht geholt habe:

docker run -it --rm -v /data/:/docker/synapse/ -e SYNAPSE_SERVER_NAME=meinetolledomain.de -e SYNAPSE_REPORT_STATS=yes matrixdotorg/synapse:latest generate

da sagt er mir er kann data nicht mounten da er /data nicht findet.

auch mit

docker run -it --rm -v /opt/matrix/synapse/data:/docker/synapse/ -e SYNAPSE_SERVER_NAME=meinetolledomain.de -e SYNAPSE_REPORT_STATS=yes matrixdotorg/synapse:latest generate

klappt es nicht, da er auch da sagt das er /opt/matrix/synapse/data nicht findet.

wo liegt denn der data - ordner im container bzw. wo erfahre ich wo dieser ist?
 

haydibe

Benutzer
Mitglied seit
12. April 2016
Beiträge
683
Punkte für Reaktionen
2
Punkte
38
docker run -it --rm -v /opt/matrix/synapse/data:/docker/synapse/ -e SYNAPSE_SERVER_NAME=meinetolledomain.de -e SYNAPSE_REPORT_STATS=yes matrixdotorg/synapse:latest generate
Die beiden Pfade bei -v müssen umgedreht werden. Links vom Doppelpunkt ist der Pfad auf dem Host, hier solltest Du /volume1/docker/irgendwas nehmen. Rechts vom Doppelpunkt ist der Pfad im Container, dieser sollte der Image-Beschreibung exakt entsprechen.

Warum verwendest Du nicht einfach das docker-compose.yml aus https://www.synoforum.com/threads/matrix-synapse.1941/#post-8253? Es ist viel aufwändiger das setup mit einzelnen `docker run` oder über die UI zu verdrahten.
 
Zuletzt bearbeitet:

DerBjoern

Benutzer
Mitglied seit
04. Juni 2020
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
@haydibe

oh mann was doof...
kaum dreht man es um klappt es auch...

Danke dir!

Die Geschichte mit dem compose muss ich mir mal anschauen. Steige grade erst so langsam in Docker ein....
 

DerBjoern

Benutzer
Mitglied seit
04. Juni 2020
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Ok, habe es mittlerweile ans Laufen bekommen. Jedoch habe ich die SSL-Geschicte noch nicht hinbekommen. Auf meiner Synology auf die meine Domain zeigt habe ich ein Zertifikat für die Domain mit Let's Encrypt erstellt. Diese Zertifikate liegen soweit ich rausgefunden habe auf der syno in folgendem Ordner: /usr/syno/etc/certificates/_archive in enstprechendem Unterordner.
ist es möglich die dort liegenden Zertifikate für Matrix gleich mitzunutzen ohne das man sie immer manuell nach aktualisierung ins data-Verzeichnis kopieren muss?
Aber vorher muss ich generell erst mal das ssl ans laufen bekommen. Hat jemand ein beispiel wie es in seiner homeserver.yaml aussieht oder in seiner compose?
 

haydibe

Benutzer
Mitglied seit
12. April 2016
Beiträge
683
Punkte für Reaktionen
2
Punkte
38
Was spricht gegen den Reverse Proxy in DSM? Der ist unter "Systemsteuerung" -> "Anwendungsportal" -> Reiter "Reverse-Proxy" zu finden. Einfach als Quelle HTTPS, einen Hostnamen aka. deinen Domainnamen und einen Port angeben. Das Ziel ist dann http, der hostname localhost oder deine NAS-IP und der Port eben der Container Port. Dann musst Du nur noch unter "Systemsteuerung" -> "Sicherheit" -> Reiter "Zertifikat" den Knopf "Konfigurieren" drücken und dann deiner Domain das entsprechende LE-Zertifikat zuordnen. Ich würde IMMER den Syno-Reverseproxy verwenden, es sei denn man braucht komplere Reverse-Proxy-Regeln.

Falls Du es doch zu Fuß machen willst. Erstell Dir doch einfach einen Symlink von /usr/syno/etc/certificates/_archive auf den docker share... ln -s /usr/syno/etc/certificate/_archive /volume1/docker/certificates und pass die permissions von 400 auf 444 an. Dann einfach aus docker/certificates/{kürzel für dien zert} auslesen.
 
  • Like
Reaktionen: DerBjoern

DerBjoern

Benutzer
Mitglied seit
04. Juni 2020
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Super! Das ist ja noch einfacher als gedacht.
Nun klappt das auch mit dem Webclient von Riot.im. ohne https wollte der irgendwie nicht so richtig.
Als nächstes muss ich dann mal schauen wie ich die liberation zu anderen servern in gange bekomme