Firefox Sync Server über Docker

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Wie gesagt, ich muss die Zeit finden...

Ich will das mal mit einem "richtigen" Docker testen...
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Ein Docker, der nicht von Synology modifiziert wurde...
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Ich hab's am Wochenende mal versucht hinzukriegen, aber ich werd nicht schlau draus.

Scheinbar hat sich außerdem das mozilla-rust-sdk in google-cloud-rust verwandelt.

Irgendwie ist die Dokumentation lückenhaft, finde ich.
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Ich hab jetzt mal ein Issue in Github aufgemacht, mal sehen, ob da jemand drauf reagiert.
 
  • Like
Reaktionen: mabox

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Wer übrigens Interesse hat, sich mal selbst mit dem neuen Syncserver auseinander zu setzen, einfach mal ins Issue schauen. Inzwischen hab' ich ein paar Antworten bekommen und es scheint zu gehen. Allerdings hab' ich noch Probleme sobald ich einen weiteren Benutzer hinzufügen will..

https://github.com/mozilla-services/syncstorage-rs/issues/1428
 
  • Like
Reaktionen: mabox

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Hallo Adama,
das sind wirklich gute Neuigkeiten, also funktioniert es ja prinzipiell schon mal.
Ich werde mich auch damit befassen, hoffe ich bekomme es hin.... hab mal alles nur kurz überflogen.
Zusammenfassend hast Du es jetzt aber am Laufen mit dem Compose von jakibkukla seinem ersten Post ja?
Also mit mysql oder hast es doch mit MariaDB zum laufen gebracht und es läuft jetzt bei Dir mit dem Proxy auch?
Ich verwende auch den Proxy.....
Viele Grüße und vielen Dank für Deine Mühe......
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Zum Teil... Mit einem User ging's und der nächste konnte sich nicht mehr anmelden.

Ich werd's noch mal mit der Compose-Datei von jdarmetzki testen, da brauch man nur einen Datenbank-Container. Das hatte ich zwar auch manuell gemacht, aber so ist's natürlich noch besser.

Edit: Ach so, erst mal mit mysql, um zu sehen, ob's grundsätzlich geht.
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Was meinst Du mit zweitem User? Also mit einem zweiten Firefoxuser oder ist bereits ein zweites Gerät, also z.B. Tablet/Smartphone ein zweiter "User"? Nur zur Sicherheit ob ich es richtig verstehe :)
.... und Du machst dann somit "nur" den Syncserver und nicht auch den Tokenserver richtig? Oder beinhaltet das auch alles der Container von jdarmetzki?
 
Zuletzt bearbeitet:

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Einen zweiten Firefox-User... Zwischen Geräten geht's dann mit dem einen User...

Nur den Syncserver, der Tokenserver ist wohl etwas komplexer aufzusetzen. Das war mir dann der Paranoia zuviel... ;)

Für die Sache mit dem einen Benutzer hat der jakibkukla noch einen Tip gepostet, das muss ich noch mal schauen.
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Ok alles klar.... ich versuche mich auch mal am jdarmetzki Container..... es tut mir Leid aber mir ist nicht alles schlüssig in dem Github oder ich hab es überlesen?

Woher nehme ich den die Parameter in dem .env File?

MYSQL_USER=sync
MYSQL_PASS=<your_password>
SYNC_MASTER_SECRET=<your_master_password>
METRICS_HASH_SECRET=<your_hash_secret>
MSYQL_SYNC_ROOT_PASS=<your_mysql_root_password>
DOMAIN=https://<example.your.domain>

Muss man den zuvor eine mssql anlegen?
Ich dachte das Compose File übernimmt das alles.....
Demnach hab ich jetzt bei MYSQL_USER und MYSQL_PASS einen User und Passwort eingetragen..... MYSQL_SYNC_ROOT_PASS kann ich vermutlich auch frei wählen und DOMAIN auch aber woher nehme ich jetzt die beiden SECRET? Handelt es sich beim MASTER_SECRET um mein Firefoxkonto Passwort?
Sorry :) ich blicks einfach nicht so :) :)
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Die Secret-Werte legst du fest. Die sind für die Verschlüsselung der Kommunikation, wenn mein Gedächtnis mich nicht täuscht.

Die Compose-Datei zieht dann diese Werte. Ansonsten würdest du die in Compose-Datei reinstellen. Das ist halt eine Möglichkeit, derartige Werte auszulagern.
 
  • Like
Reaktionen: mabox

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Ok dann lege ich also alle diese Werte fest hab ich jetzt verstanden..... das mit dem Compose und der Auslagerung usw. ist mir soweit klar, nur eben nicht ob die Werte frei wählbar sind oder diese irgendwo Abhängigkeiten in diesem Compose File haben....
Die msssql wird dann aber also auch vom Compose File angelegt ja? Also es muss keine DB zuvor erstellt werden richtig?
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Bei der ersten Variante mit zwei Containern für mysql ist das so. Das siehst du auch an den Variablen.

Bei der zweiten Variante mit einem Container ist das auch so, wird aber über Skriptbefehle gesteuert. Den hab' ich aber noch nicht getestet. Aber ich gehe mal davon aus, dass der Ersteller das schon richtig gemacht und getestet hat.
 
  • Like
Reaktionen: mabox

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Hi,
ok also das ist glaub noch nichts für mich.... ich hoffe es wird irgendwann noch ein wenig besser dokumentiert im Github :)
Hier mein Ergebnis nach dem ersten Schuss mit "docker-compose up -d" :)
Code:
docker-compose up -d
Pulling firefox-sync-db (mysql:5.7)...
5.7: Pulling from library/mysql
c19d5474d2cf: Pull complete
734cfb67bc8c: Pull complete
729529a0299e: Pull complete
63d3c603a591: Pull complete
305e0fbc2dcb: Pull complete
db7d48a00fea: Pull complete
fbf883b19c2f: Pull complete
28356e179593: Pull complete
49abbf373312: Pull complete
6ce6621986fd: Pull complete
d3d631e923a6: Pull complete
Digest: sha256:f5e2d4d7dccdc3f2a1d592bd3f0eb472b2f72f9fb942a84ff5b5cc049fe63a04
Status: Downloaded newer image for mysql:5.7
Pulling firefox-sync (mozilla/syncstorage-rs:0.12.4)...
0.12.4: Pulling from mozilla/syncstorage-rs
f6e04ba65310: Pull complete
d0611b649aed: Pull complete
e1495f27f676: Pull complete
686e64cf8cfe: Pull complete
ecc3c41ec00f: Pull complete
37a67b1f47e1: Pull complete
94717cb29931: Pull complete
effdb02ab1b5: Pull complete
cd3d53e6dafc: Pull complete
5e11277aeb06: Pull complete
5c53f361f8bf: Pull complete
898e4351b5eb: Pull complete
cb4657794e75: Pull complete
5e14f86285ab: Pull complete
6467109bf1b5: Pull complete
1486a75f5ff5: Pull complete
Digest: sha256:41365686884d09076f18362954505ef97672810f18afe618bd44a13648eaeeb8
Status: Downloaded newer image for mozilla/syncstorage-rs:0.12.4
Creating firefox-sync-db ... error

ERROR: for firefox-sync-db  Cannot start service firefox-sync-db: Bind mount failed: '/volume1/docker/firefox-sync/syncstorage-db' does not exists

ERROR: for firefox-sync-db  Cannot start service firefox-sync-db: Bind mount failed: '/volume1/docker/firefox-sync/syncstorage-db' does not exists
ERROR: Encountered errors while bringing up the project.

So und nun keine Ahnung was da schief läuft :)
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
/volume1/docker/firefox-sync/syncstorage-db
Den Ordner hast du angelegt? Und gib dem syncstorage-db-Ordner das executable-Attribut:
Code:
chmod 0755 syncstorage-db

Ich hab' das inzwischen mit dem Compose-File am Laufen.

Edit: Nutzt du das erste oder zweite Compose-File in dem Thread?
 
  • Like
Reaktionen: mabox

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Nein den Ordner hatte ich nicht angelegt :) Ich hab jetzt beide Compose versucht gehabt....
Ich habe nun mal die beiden Ordner syncstorage-db und tokenserver-tb angelegt (Compose 1) und nun starten beide Container.....
Wenn ich die URL aufrufe lande ich auf der Seite Mozilla, dann ist alles gut oder? Ich versuche das Ganze dann jetzt mal weiter einzurichten und gebe wieder Bescheid..... hab leider grad keine Zeit....

Welches Compose verwendest Du dann jetzt bzw. welches wäre den dann jetzt eher zu empfehlen und im "Sinne" des Projektes?

Compose 1 ist der Tokenserver mit dabei richtig? Den muss man aber dann ja auch nicht zwingend verwendet auch wenn man Compose 1 verwendet oder?
Compose 2 wäre ohne Tokenserver aber ansonsten gleich oder?

EDIT:
Ok hab nun getestet :)
Compose 1:
Hat die Anlage, nachdem ich die Ordner angelegt habe, geklappt. Das Syncen dann hat aber nicht geklappt oder ich war zu ungeduldig.... auf der Seite https://MEINEURL/1.0/sync/1.5 steht unter "Status" "Error" "description" "Unauthorized".
Ich dachte mir das liegt jetzt wohl daran weil der Tokenserver nicht konfiguriert ist und ich weiterhin mit meinem Mozilla Konto angemeldet bin.
Ich habe mich dann mal am Compose 2 versucht.....

Compose 2:
Habe ich nun mit 2 Rechnern getestet und die Bookmarks werden gesynct :) aber auf der https://MEINEURL/1.0/sync/1.5 wird trotzdem "Error" und "unauthorized" angezeigt. Bei meinem alten Server steht unter der URL einfach eine "0".
Da passt dann jetzt wohl doch irgendwas noch nicht oder? Ansonsten würde der Sync erstmal funktionieren.... ich teste mal noch weiter....


EDIT2:
Ok maximale Verwirrung :) Tut mir Leid für das EDIT Chaos aber ich mag den Originaltext nicht verändern....
Also ich bin verwirrt wegen den URLs.
Alter SyncServer:
https://MEINEURL/1.0/sync/1.5 --> 0
https://MEINEURL/token/1.0/sync/1.5 --> Error und Unauthorized
Neuer SyncServer:
https://MEINEURL/1.0/sync/1.5 --> Error und Unauthorized
https://MEINEURL/token/1.0/sync/1.5 --> 0

Allerdings habe ich in der about:config beim alten SyncServer die URL mit "token" eingetragen und beim neuen ohne "token" in der URL.
Was hat es den auf sich mit diesen URLs eigentlich? Welche wäre den beim neuen SyncServer die Richtige?
Dann gibt es auch noch die Adresse https://MEINEURL/__heartbeat__ dort steht (Compose 2 Variante) das bei tokenserver alles ok sei....
 
Zuletzt bearbeitet:

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Der Tokenserver ist nie mit dabei, ist aber nicht mit dem Account-Server zu verwechseln, wenn ich das richtig verstehe.

Compose 2 fasst nur beide Datenbanken in einem Container zusammen. Die Variante nutze ich zur Zeit.

Beim alten Syncserver ist die Variante mit .../token/... korrekt und damit "Error" und "Unauthorized". Das ist bei mir genauso.

Beim neuen gilt die Variante ohne .../token/... und damit kommt - korrekt - dieselbe Meldung.

Unauthorized kommt deswegen, weil du den Server direkt ohne Firefox-Account ansprichst. Erst wenn du dich mit deinem Account an Firefox anmeldest, wird alles richtig angesprochen.

Such mal in "about:config" nach "logon". Der Wert "services.sync.log.appender.file.logOnError" sollte standardmässig auf "true" stehen, "services.sync.log.appender.file.logOnSuccess" auf "false". Stell mal mit Doppelklick auch den zweiten auf "true".

Dann starte eine Synchronisation. Danach rufst Du "about:sync-log" auf. Wenn alles richtig läuft, müsstest du dort success-Logs finden.
firefox.PNG
Der Heartbeat scheint das alte "It works!" zu ersetzen. Jedenfalls bekomme ich da ein "Ok" zurück...
 
Zuletzt bearbeitet:
  • Like
Reaktionen: mabox

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
202
Punkte für Reaktionen
12
Punkte
24
Vielen Dank, langsam wird es klarer alles....
Die haben dann auf ihrer Githubseite einen Fehler meiner Meinung nach. Bei "Connecting to Firefox" schrieben die von der URL mit dem "token" im Pfad..... auf der Archlinux Seite auf die jakobkukla verwieß war dann die URL ohne token und die URL hatte ich dann auch genommen.....
Ok letztendlich scheint alles zu funktionieren..... hab mal mit zwei Rechnern und dem Smartphone getestet.....
Im about:sync-log hab ich eigentlich nur success Meldungen..... bei meinem "alten" Syncserver hab ich da immer wieder errors mit dabei....
Versuchst Du Dich dann jetzt also noch an der MariaDB?
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
2.193
Punkte für Reaktionen
767
Punkte
154
Das werd' ich sicherlich, aber die Prio ist jetzt nicht mehr ganz so groß, da mich vor allen Dingen die zwei DB-Container gestört haben.

Denk' dran, wenn mehr als ein Benutzer drauf zugreifen soll, muss der "capacity"-Wert erhöht werden.
 
  • Like
Reaktionen: mabox


 

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