Matrix/Element in Synology Docker UI konfigurieren.

  • 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

nobody23

Benutzer
Registriert
23. Mai 2010
Beiträge
135
Reaktionspunkte
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
 
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.
 
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
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
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.
 
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
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
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.
 
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?
 
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?
 
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)
 
1666180479139.png

Somit definitiv der host name...

Evtl ists ja 172.17.0.1 .
Arbeite ja mit dem bridge netzwerk des docker UI.
 
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?
 
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!
 
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
 

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