Neuer Firefox-Syncserver (Rust) in Docker mit MariaDB-Datenbank

DamitsTut

Benutzer
Mitglied seit
12. Apr 2023
Beiträge
24
Punkte für Reaktionen
1
Punkte
3
Hoi Zusammen

Ich bin einen Schritt weiter und auch nicht. In den Einstellungen MariaDB-10 wurde zwar der Port spezifiziert, aber aus einem mir unbekannten Grund wurde in DSM die Funktion "TCP/IP-Verbindung aktivieren" deaktiviert. Dass es meinen Kopano-Groupware-Zugriff auf MariaDB nicht beeinträchtigt hat, ist es mir nicht aufgefallen (merkwürdig).

Beim Start von Firefox SyncStorage erhalte ich nun nicht mehr die Rückmeldung ...

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ApiError { kind: Db(DbError { kind: DieselConnection(BadConnection("Can't connect to MySQL server on 'IP : PORT' (111)")), status: 500, backtrace: 0: <syncserver_db_common::error:: DbError as core::convert::From<syncserver_db_common::error:: DbErrorKind>>::from​

sondern den Log-Eintrag ...

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ApiError { kind: Db(DbError { kind: DieselConnection(BadConnection("Lost connection to MySQL server at 'reading initial communication packet', system error: 0")), status: 500, backtrace: 0: <syncserver_db_common::error:: DbError as core::convert::From<syncserver_db_common::error:: DbErrorKind>>::from​

Wähle ich beim Start Netzwerk HOST, erhalte ich ein "Can't connect ..." zurück, wähle ich BRIDGE ein "Lost Connection ... ". Letzten Endes startet das Image aber immer noch nicht. Es muss irgendetwas mit den MariaDB-Einstellungen und der Ansprache der Datenbank zu tun haben. Mit dem Firefox-Nutzer kann ich mich mit phpmyAdmin in die Datenbank einloggen und habe auch die erforderlichen Rechte.

Seid Ihr in dieser Richtung weitergekommen? Oder hat jemand von Euch dazu eine Idee? Wäre toll ...
 

DamitsTut

Benutzer
Mitglied seit
12. Apr 2023
Beiträge
24
Punkte für Reaktionen
1
Punkte
3
Hoi Zusammen

Nach Erkenntnis in Post #161 habe ich alles nochmal von der DiskStation runtergeschmissen:
- Docker-Container (der nicht tut)
- Datenbank-Verzeichnisse und Tabellen
- Datenbank-Nutzer

Dann habe ich alles neu eingerichtet und siehe da ... es tut !!! 👏Das Problem scheint wirklich daran gelegen zu haben, dass in den Einstellungen der MariaDB (lokal in DSM) die TCP/IP-Verbvindungen nicht aktiviert waren. Warum auch immer!!! Das ist ja standardmäßig bei der Installation aktiviert. Was den Haken rausgenommen hat und warum es Kopano4S nicht stört, Firefox SyncServer aber schon ... Keine Ahnung ...

Was ich auch gemerkt habe. Ob der Docker-Container nun startet oder nicht. Man sollte den Port des Firefox SyncServers in der Firewall der DiskStation nach jedem versuchten Start nochmal prüfen und ggf. öffnen. Jetzt hoffe ich, dass ich mit meinem laufenden Firefox SyncServer weiterkomme und das hier Anderen vielleicht hilft.

Melde mich dann wie's weitergeht ...
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Man sollte den Port des Firefox SyncServers in der Firewall der DiskStation nach jedem versuchten Start nochmal prüfen
Wenn du den Port manuell freigibst (also nicht nur "Docker FirefoxSync" auswählst), hast du das Problem nicht
 

Esel08

Benutzer
Mitglied seit
10. Jul 2014
Beiträge
281
Punkte für Reaktionen
6
Punkte
24
@DamitsTut

Bei mir ist es aber aktiviert und geht trotzdem nicht !!
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.191
Punkte für Reaktionen
766
Punkte
154
Na dann, läuft ja wenigstens schon mal einer... :)

Da scheint ja in deiner MariaDB-Installation irgendwas durcheinander geraten zu sein.

Jetzt müssen wir nur noch das Rätsel bei @Esel08 lösen... :unsure:
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.503
Punkte für Reaktionen
1.093
Punkte
194
@Esel08 kannst du dich denn von außerhalb mit der MariaDB verbinden? Probeweise mal mit HeidiSQL austesten.
 

Esel08

Benutzer
Mitglied seit
10. Jul 2014
Beiträge
281
Punkte für Reaktionen
6
Punkte
24
Also mit den Sync Daten kommen ich nicht drauf jedoch mit meinen anderen !!
 
Zuletzt bearbeitet von einem Moderator:

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.191
Punkte für Reaktionen
766
Punkte
154
Das wäre auch korrekt, du kommst ja dann nicht von 172.%, sondern vermutlich 192.%.

Du könntest den User natürlich mal auf % ändern, dann darfst du aus jedem Netz zugreifen.
 

DamitsTut

Benutzer
Mitglied seit
12. Apr 2023
Beiträge
24
Punkte für Reaktionen
1
Punkte
3
Na dann, läuft ja wenigstens schon mal einer... :)

Da scheint ja in deiner MariaDB-Installation irgendwas durcheinander geraten zu sein.

Jetzt müssen wir nur noch das Rätsel bei @Esel08 lösen... :unsure:

Hoi Adama

Naja, ganz soweit ist es leider noch nicht. Das Docker-Image läuft stabil, aber nach der Anmeldung am Firefox-Account kommuniziert und synchronisiert Firefox glaube ich mit dem Mozilla-Server und nicht mit dem Firefox SyncServer.

Einstellungen in Firefox (about:config, als String) eingetragen:​
identity.sync.tokenserver.uri --> 1681482482725.png

Als Server habe ich eine lokale IP-Adresse eingetragen und den in der Firewall freigeschaltenen Port.
Ich habe die Installation geprüft mit ... Ergebnis war ...

1681482155800.png
1681482317328.png

1681482182651.png
1681482095609.png

Nach meinem Verständnis wurde der Firefox SyncServer erreicht und wartet auf Synchronisation bzw. Daten. Da die Datenmenge aber bei 0 geblieben ist, hat das wohl nicht funktioniert. Dasselbe Bild erhalte ich mit phpMyAdmin aus der MariaDB 10.

Darum habe ich die in älteren Versionen noch erforderlichen Einträge in Firefox (about:config, als String) zusätzlich eingetragen:
services.sync.tokenServerURI --> 1681482482725.png
identity.sync.useOAuthForSyncToken --> false
identity.fxaccounts.useSessionTokensForOAuth --> false

Test und Ergebnis blieben aber unverändert. Bin schon wieder mit dem Latein am Ende.
Wie verbindet sich Firefox genau mit dem eigenen Firefox SyncServer? Oder mache ich was falsch?
 

Anhänge

  • 1681482148076.png
    1681482148076.png
    1,7 KB · Aufrufe: 4
  • 1681482032668.png
    1681482032668.png
    5,2 KB · Aufrufe: 3

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.191
Punkte für Reaktionen
766
Punkte
154
Nimm mal den einen Slash aus der Adresse, es muss lauten:
Code:
https://servername.domain.tld:(port)/1.0/sync/1.5

Der ist mir im ersten Post versehentlich reingerutscht.

Der Heartbeat sagt auf jeden Fall, dass der Server korrekt arbeitet. Wenn du die korrigierte Adresse eingibst, muss er was von "Unauthorized" sagen:


sync.PNG

Hast du auch die beiden Einträge in der tokenserver-Datenbank hinzugefügt?
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Da die Datenmenge aber bei 0 geblieben ist
Bei mir steht da auch Size "0". In phpmyadmin sehe ich aber etliche Einträge in der Datenbank, die schon einige MB haben. Und der Sync funktioniert bei mir auch. Deshalb glaube ich, dass diese Anzeige schlicht falsch ist.
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.191
Punkte für Reaktionen
766
Punkte
154
@plang.pl Kontrollier trotzdem mal deinen Eintrag in about:config.
Es muss
Code:
https://servername.domain.tld:(port)/1.0/sync/1.5
lauten, nicht
Code:
https://servername.domain.tld:(port)//1.0/sync/1.5

Die Meldung hat mit der Datenmenge nichts zu tun.

Edit: Sorry, hab die Meldung verwechselt, Size bezieht sich auf ein mögliches Quota. 0 wäre unbeschränkt.
 

DamitsTut

Benutzer
Mitglied seit
12. Apr 2023
Beiträge
24
Punkte für Reaktionen
1
Punkte
3
Nimm mal den einen Slash aus der Adresse, es muss lauten:
Code:
https://servername.domain.tld:(port)/1.0/sync/1.5

Der ist mir im ersten Post versehentlich reingerutscht.

Der Heartbeat sagt auf jeden Fall, dass der Server korrekt arbeitet. Wenn du die korrigierte Adresse eingibst, muss er was von "Unauthorized" sagen:


Anhang anzeigen 81499

Hast du auch die beiden Einträge in der tokenserver-Datenbank hinzugefügt?

Hoi. Ja, die Einträge in der Datenbank habe ich ausgeführt. Nehme an, Du meinst die hier ...
USE tokenserver_rs;
INSERT IGNORE INTO services (id, service, pattern) VALUES ('1', 'sync-1.5', '{node}/1.5/{uid}');
INSERT INTO nodes (id, service, node, available, current_load, capacity, downed, backoff) VALUES ('1', '1', 'https://MYDOMAIN.TLD:<port>', '1', '0', '5', '0', '0');

Habe dabei natürlich https://MYDOMAIN.TLD:<port> durch meine IP-Adresse und Port ersetzt.

1681482482725.png
liefert jetzt das gewünschte Ergebnis:
1681485389674.png

Habe die Einträge in Firefox korrigiert und mache einen Versuch und berichte gleich ...
 

DamitsTut

Benutzer
Mitglied seit
12. Apr 2023
Beiträge
24
Punkte für Reaktionen
1
Punkte
3
Also, nach Neustart Firefox und Anwahl verschiedener Synchronisationsoptionen ... Die Datenmenge in MariaDB bleibt auf 175KB stehen, egal, was ich mache. Ich glaube Firefox synchronisiert nicht mit der Datenbank. Oder?
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Die URL ist bei mir korrekt gesetzt.
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.191
Punkte für Reaktionen
766
Punkte
154
@DamitsTut Hast du denn zum einen die URL in about:config korrigiert?

Und zum anderen hast du meine Frage nicht beantwortet: Hast du die Einträge in der Tokenserver-Datenbank ergänzt?
 

DamitsTut

Benutzer
Mitglied seit
12. Apr 2023
Beiträge
24
Punkte für Reaktionen
1
Punkte
3
Stimmt, habe ich nicht eindeutig geantwortet. Entschuldige bitte. Mein Eintrag in about:config ist korrigiert:
identity.sync.tokenserver.uri --> https://<IP-Adresse>:<Port>/1.0/sync/1.5/​

Bei den Einträgen der Tokenserver-Datenbank bin ich mir jetzt unsicher, welche du meinst. Wie gepostet (#175) habe ich die hier ergänzt:

USE tokenserver_rs;​
INSERT IGNORE INTO services (id, service, pattern) VALUES ('1', 'sync-1.5', '{node}/1.5/{uid}');​
INSERT INTO nodes (id, service, node, available, current_load, capacity, downed, backoff) VALUES ('1', '1', 'https://MYDOMAIN.TLD:<port>', '1', '0', '5', '0', '0');​

Was mich bei den Einträgen stutzig macht ... Ich kann meine Datenbank nicht verschlüsselt (https) erreichen, sondern nur unverschlüsselt (http). Die Einträge für tokenserver_rs lauten aber auf https://... Wenn ich die Dantenbank nochmals lösche, dann neuinitialisiere und die Einträge der Tokenserver-Datenbank nur als http-Verweise eintrage, dann synchronisiert der Firefox Syncserver wie er's soll ...

Kann es sein, dass Firefox SyncServer keine verschlüsselten Verbindungen akzeptiert?
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Ich denke, das ist das Problem bei dir. Ich mache es so, dass ich mich mit Firefox mit dem ReverseProxy über https verbinde. Dieser verbindet sich aber via http mit dem SyncServer
 


 

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