Matrix/Element in Synology Docker UI konfigurieren.

nobody23

Benutzer
Mitglied seit
23. Mai 2010
Beiträge
104
Punkte für Reaktionen
2
Punkte
18
Hallo miteinander

Bin auf der Suche nach einer Möglichkeit/Anleitung Matrix/Element auf meiner Synology zu konfigurieren.
Habe aber bisher nichts gescheites/aktuelles gefunden.

Hat wer hier eine Idee?

Besten Dank
Gruss
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Findest du im Synology Wiki.
Funktioniert aber auch einfach über die Docker-GUI

Meinst du Synapse als Matrix-Server oder Elements-Web als Webanwendung für Matrix? Habe beides am laufen.
 

nobody23

Benutzer
Mitglied seit
23. Mai 2010
Beiträge
104
Punkte für Reaktionen
2
Punkte
18
Beides.
Kannst du evtl Bilder von der Konfiguration reinstellen?

Danke
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Ich habe Synapse, Synapse-Admin und Element-Web bei mir laufen.

In der Aufgabensteuerung unter "root" folgende Installation eintragen:
homeserver.yaml generieren:
Code:
docker run -it --rm \
    --name=synapse \
    -v /volume1/docker/synapse:/data \
    -e SYNAPSE_SERVER_NAME=matrix.yourdomain.synology.me \
    -e SYNAPSE_REPORT_STATS=yes \
    -e TZ='Europe/Berlin' \
    -e UID=1024 \
    -e GID=100 \
    -p 8008:8008 \
    -p 8448:8448 \
    matrixdotorg/synapse:latest generate

dabei musst du SYNAPSE_SERVER_NAME und UID sowie GID anpassen. Wenn die homeserver.yaml erstellt ist kann der Container wieder gelöscht werden.

Den eigendlichen Synapse-Container erstellen, wieder mit deinen geänderten Werten für SYNAPSE_SERVER_NAME, UID und GID
Code:
docker container run -d --restart=always \
    --name=synapse \
    -v /volume1/docker/synapse:/data \
    -e SYNAPSE_WORKER=synapse.app.homeserver \
    -e TZ='Europe/Berlin' \
    -e UID=1024 \
    -e GID=100 \
    -p 8008:8008 \
    -p 8448:8448 \
    matrixdotorg/synapse:latest

Anschließend in der Konsole ein Admin-Account anlegen sowie einen Reverse Proxy von Port 443 auf Port 8008 (siehe Wiki)

Für den Element Web und Synapse Admin sind keine Weiteren Einstellungen außer die Ausgangsport einzustellen. Diese werden ebenfalls über den Reverse Proxy 443 auf xyz (Ausgangsports Container) geleitet.

Wenn du von den Client aus Accounts erstellen willst fügst du folgendes in der homeserver.yaml ein:
Code:
enable_registration: true
enable_registration_without_verification: true

Jetzt kannst du mit deinen Freunden auf deinen Server schon chatten, Willst du das dein Server zur Federation Kontakt hat, musst du nur das Script für den Reverse Proxy von 3x3cut0r auf deine Werte anpassen und über den Aufgabenplaner oder SSH installieren (siehe Wiki)

Wenn alles funktioniert und du zufrieden bist kannst du auch mariadb oder postgresql als Bank benutzen. Dafür entsprechend eine Datenbank erstellen und in der homeserver-yaml (siehe Wiki) die Daten eintragen.
 
  • Love
Reaktionen: nobody23

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Die Bilderserie erspare ich mir jetzt einmal. Auf den oben genannten Codes kannst du auch alles entnehmen was in der Docker-GUI eingetragen werden muss. Befehl "generate" wird übrigens in den Erweiterten Einstellungen unter Ausführungsbefehl eingetragen.

1666015910681.png

Weitere Hilfe, Einstellungen und Anleitungen findest du im Synapse Wiki.
 
  • Like
Reaktionen: nobody23

nobody23

Benutzer
Mitglied seit
23. Mai 2010
Beiträge
104
Punkte für Reaktionen
2
Punkte
18
Besten dank

Konnte die Sachen schon aus dem ersten Post entnehmen.
Muss nur noch warten, bis ich den DNS anpassen kann und dann sollte es losgehen.
Für was bräucht es die DB?
Für die Accounts speichern?

Dateirechte für Synapse abändern
Hab ich nicht gemacht, aber da im UI man wählen kann, ob mit erhöhten Rechten (bei mir auf AUS) laufe lässt, sollte das kein Problem sein.
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Die Datenbank brauchst du für alles von User bist Nachrichten, Das eigentliche Herz der Anwendung.
Schön das du weiter gekommen bist. Viel Spaß damit :cool:
 
  • Like
Reaktionen: nobody23

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Ich meine irgendwo etwas dazu gelesen zu haben wurde auch schon oft gefordert. Postgres ist aber verbreiteter als die anderer Derivate. Selbst Synology nutzt sie in der DSM. Ich habe soweit alles auf postgres umgestellt, sofern möglich. für die restlichen nehme ich einfach sqlite. Ziel ist es mit einen Datenbankdump möglichst alle Datenbanken auf einmal zu sichern. Für das verwalten der postgres-Datenbanken nutze ich pgadmin, vergleichbar mit phpmyadmin. Du kannst ja einmal die Downloadzahlen und Sterne vergleichen ;)
 
  • Like
Reaktionen: nobody23

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Von was ist das Bild postgres-Docker?
Da Ich mehrere Anwendungen habe mit postgras habe ich nur das Admin-Passwort in den Docker-Container hinterlegt. Ich verbinde mich mit den pgadmin4 auf den Server und lege einen entsprechenden User und Datenbank an, welche ich denn in der Anwendung hinterlege.
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
So wie du es gemacht hast wird es ja meistens mit Stack/Portainer gemacht. Ich habe es aber nie ausprobiert, aber warum soll es nicht so sein. Problem sehe ich aber wenn man postgres mit mehreren Datenbanken nutzen will.

Mit sqlite funktioniert das aber schon einmal alles?
 

nobody23

Benutzer
Mitglied seit
23. Mai 2010
Beiträge
104
Punkte für Reaktionen
2
Punkte
18
Es klappt leider noch nicht ganz, mein Synapse stürzt gleich nach start ab.

Hier mein YAML:
Code:
server_name: "matrix.*******.**"
pid_file: /data/homeserver.pid
listeners:
  - port: 8008
    tls: false
    type: http
    x_forwarded: true
    resources:
      - names: [client, federation]
        compress: false
database:
  name: psycopg2
  args:
    user: synapse
    password: '************'
    database: /data/synapse.db
    host: 192.168.1.10:8900
    cp_min: 5
    cp_max: 10
log_config: "/data/matrix.********.**.log.config"
media_store_path: /data/media_store

Evtl siehst du den Fehler?
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Mit Sqlite hat es aber funktioniert?
Mit Database ist eigendlich der Name der Datenbank gemeint, nicht der Pfad.
Es sollte auch ausreichen wenn du den Containernamen von Postgres und die URL eingetragen werden: host: postgres IPs sin in Docker nicht wichtig und zu vernachlässigen.
Auf die Datenbank kann auch zugegriffen werden? (Rechte)
 

nobody23

Benutzer
Mitglied seit
23. Mai 2010
Beiträge
104
Punkte für Reaktionen
2
Punkte
18
1666180479139.png

Somit definitiv der host name...

Evtl ists ja 172.17.0.1 .
Arbeite ja mit dem bridge netzwerk des docker UI.
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Postgres läuft? Datenbank vorhanden (überprüft mit pgadmin oder adminer)?
Code:
 user: synapse
    password: '************'
    database: synapse
    host: postgres

Wenn die Datenbank oder User nicht vorhanden ist denn wird es auch nicht mit den verbinden! Funktioniert Sqlite? um ein Fehler in deinem Synapse-Docker auszuschließen? Was steht im Docker-Log?
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Unter Anmeldung-Gruppenrollen > Eigenschaften > Berechtigung anmelden aktiviert?
Ohne dein Log wird das nichts, was sagt Synapse denn dazu und von Sqlite habe ich auch noch nichts gehört ob das funktioniert.

Auf raten habe ich auch keine Lust, entweder du lieferst mehr Infos oder du musst alleine durch!
 

nobody23

Benutzer
Mitglied seit
23. Mai 2010
Beiträge
104
Punkte für Reaktionen
2
Punkte
18
Unter Anmeldung-Gruppenrollen > Eigenschaften > Berechtigung anmelden aktiviert?
Ohne dein Log wird das nichts, was sagt Synapse denn dazu und von Sqlite habe ich auch noch nichts gehört ob das funktioniert.

Auf raten habe ich auch keine Lust, entweder du lieferst mehr Infos oder du musst alleine durch!
Klar hab ich das gemacht, dachte der Screenshoot mit der Hostauflösung sei Info genug.
Auch sqllite hat funktioniert.
Im Synapse Ordner wird kein log Datei geschrieben...
log config:
Code:
tversion: 1

formatters:
  precise:
 
    format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s'

handlers:

  console:
    class: logging.StreamHandler
    formatter: precise
    level: DEBUG

loggers:
    synapse.storage.SQL:
        # beware: increasing this to DEBUG will make synapse log sensitive
        # information such as access tokens.
        level: DEBUG

root:
    level: DEBUG
    handlers: [console]

disable_existing_loggers: false

YAML:
Code:
# Configuration file for Synapse.
#
# This is a YAML file: see [1] for a quick introduction. Note in particular
# that *indentation is important*: all the elements of a list or dictionary
# should have the same indentation.
#
# [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
#
# For more information on how to configure Synapse, including a complete accounting of
# each option, go to docs/usage/configuration/config_documentation.md or
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
server_name: "matrix.*********.**"
pid_file: /data/homeserver.pid
listeners:
  - port: 8008
    tls: false
    type: http
    x_forwarded: true
#    bind_addresses: ['::1', '127.0.0.1']
    resources:
      - names: [client, federation]
        compress: false
database:
  name: psycopg2
  args:
    user: synapse
    password: '*********************'
    database: synapse
    host: db1                               [Hier liegt der Fehler wohl]
    cp_min: 5
    cp_max: 10
log_config: "/data/matrix.****************.**.log.config"
media_store_path: /data/media_store
registration_shared_secret: "**********************************************"
report_stats: true
macaroon_secret_key: "**********************************************************"
form_secret: "*******************************************************"
signing_key_path: "/data/matrix.************.**.signing.key"
trusted_key_servers:
  - server_name: "matrix.org"
enable_registration: true
enable_registration_without_verification: true

# vim:ft=yaml

1666182452654.png

1666182751547.png
 


 

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