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

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134
Da der bisherige Firefox-Syncserver durch eine Rust-Version ersetzt wurde und nicht mehr gepflegt wird, hab ich versucht, diesen zum Laufen zu bekommen. Das war leider nicht von viel Erfolg begleitet. Deswegen hatte ich ein Issue auf der Github-Seite des neuen Servers aufgemacht: https://github.com/mozilla-services/syncstorage-rs/issues/1428

Dank der Hilfe dort, konnte ich es zum Laufen bringen.

In diesem Anleitung wird die lokale MariaDB der Synology genutzt.

1. Anlegen der Datenbanken

Anmelden über die Konsole an der Datenbank-Instanz und anlegen des User und der Datenbanken für den Sync-Server:
Code:
mysql -u root -p

CREATE USER sync_rs@"172.%" IDENTIFIED BY '<password for sync_rs>';

CREATE DATABASE IF NOT EXISTS syncstorage_rs;
CREATE DATABASE IF NOT EXISTS tokenserver_rs;

GRANT ALL PRIVILEGES ON syncstorage_rs.* TO sync_rs@"172.%";
GRANT ALL PRIVILEGES ON tokenserver_rs.* TO sync_rs@"172.%";

2. Anlegen des Containers

In einem Verzeichnis auf der DS folgende Dateien anlegen.

Achtung: Im Editor drauf achten, dass die Zeilen nur mit "LF" abgeschlossen sind.

docker-compose.yml:
Code:
version: "3.8"

services:
  firefox-sync:
    image: mozilla/syncstorage-rs:0.13.7
    network_mode: bridge
    container_name: FirefoxSync_RS
    environment:
      SYNC_HOST: 0.0.0.0
      SYNC_HUMAN_LOGS: 1
      SYNC_MASTER_SECRET: ${SYNC_MASTER_SECRET}
      SYNC_SYNCSTORAGE__DATABASE_URL: mysql://${MYSQL_USER}:${MYSQL_PASS}@${DATABASE_SERVER}:${DATABASE_PORT}/syncstorage_rs
      SYNC_TOKENSERVER__ENABLED: "true"
      SYNC_TOKENSERVER__RUN_MIGRATIONS: "true"
      SYNC_TOKENSERVER__NODE_TYPE: mysql
      SYNC_TOKENSERVER__DATABASE_URL: mysql://${MYSQL_USER}:${MYSQL_PASS}@${DATABASE_SERVER}:${DATABASE_PORT}/tokenserver_rs
      SYNC_TOKENSERVER__FXA_EMAIL_DOMAIN: api.accounts.firefox.com
      SYNC_TOKENSERVER__FXA_OAUTH_SERVER_URL: https://oauth.accounts.firefox.com/v1
      SYNC_TOKENSERVER__FXA_METRICS_HASH_SECRET: ${METRICS_HASH_SECRET}
      SYNC_TOKENSERVER__ADDITIONAL_BLOCKING_THREADS_FOR_FXA_REQUESTS: 2
    ports:
      - ${EXTERNAL_PORT}:8000
    restart: always

Achtung: Nicht das Tag "latest" benutzen, da das nicht korrekt mit der aktuellen Version verknüpft ist.

.env:
Code:
COMPOSE_PROJECT_NAME=ffsync_rs
MYSQL_USER=sync_rs
MYSQL_PASS=<password of sync_rs>
SYNC_MASTER_SECRET=<your master secret>
METRICS_HASH_SECRET=<your hash secret>
DATABASE_SERVER=<ip of your DB server>
DATABASE_PORT=<port of your DB>
EXTERNAL_PORT=<external port for container>

In der Konsole (SSH) in das genutzte Verzeichnis wechseln (cd /volume1/...). Dort den Container mit "docker-compose up -d" erzeugen und starten.

Achtung: Nach dem ersten Starten müssen noch zwei Einträge in der Datenbank tokenserver_rs erzeugt werden:

Code:
mysql -u root -p

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://<your_server>:<port>', '1', '0', '5', '0', '0');

Wenn mehr als ein Benutzer den Syncserver nutzen soll, muss der Wert für capacity angepasst werden. In meinem Beispiel steht er bereits auf "5".

Mit "http(s)://<your_server>:<port>/__heartbeat__" kann man den Sync-Server testen. Wenn alles funktioniert, müsste diese Ausgabe zu sehen sein:

heartbeat.PNG

3. Sync-Server in Firefox einstellen

3a. Windows

Mit "about:config" in die Einstellungen von Firefox wechseln.

Der Wert "identity.sync.tokenserver.uri" in Firefox muss jetzt auf
Code:
http(s)://<your_server>:<port>/1.0/sync/1.5
geändert werden.

Über die Werte "services.sync.log.appender.file.logOnError" und "services.sync.log.appender.file.logOnSuccess" kann man Protokolle erzeugen lassen. Der erste Wert steht standardmässig auf "True", der zweite auf "False".

Wie an den Namen zu sehen, werden einmal Protokolle bei Fehlern und bei Erfolg erzeugt. Die Protokolle findet man unter "about:sync-log". Wenn alles korrekt läuft, stelle ich beide auf "False".

3b. Android

In Android ist die Einstellung etwas komplizierter. Bevor diese gemacht werden, vom Firefox-Konto abmelden. Will man ganz sicher gehen, sogar die Einstellungen von Firefox Android zurücksetzen.

Nach dem Neustart von Firefox in die Einstellungen gehen, dann zu "Über Firefox". Dort 5x auf das Firefox-Logo tippen. Damit wird das Debug-Menü aktiviert.

Dort gibt es unter "Sync Debug" die Möglichkeit, den eigenen Sync-Server einzutragen. Der Wert muss genauso wie unter Windows aussehen.

Danach kann man sich wieder am Firefox-Konto anmelden und die Synchronisation sollte gestartet werden.

Hinweis: 0.13.7 ist die zur Zeit die letzte Version, die lauffähig mit MariaDB ist. Neuere Container sind nur mit Spanner-Zugriff erzeugt worden.

Im Moment gibt's noch einen Schönheitsfehler im Container-Log. Ich hab' wiederkehrende Einträge "Nov 03 18:14:51.367 ERRO Lost connection to MySQL server during query" hier. Das scheint aber kein negativen Einfluss auf die Synchronisation zu haben. Unter "About:sync-log" bekomme ich immer success-logs. Da bin ich noch am Suchen.

18.07.: Fehlerbehebung, Aktualisierung und Straffung
18.07.: Einstellung für Android
12.09.: Auf Image-Version 0.13.7 geändert
09.11.: Hinweis wegen Version hinzugefügt
 
Zuletzt bearbeitet:

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
191
Punkte für Reaktionen
12
Punkte
24
Top Adama, ich geb Dir Feedback wenn ich es auch getestet habe :). Hattest Du den Fehler auch in der SQL Version oder nur jetzt in der Maria DB Version?
 
Zuletzt bearbeitet:

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134
Nur in der MariaDB.

Ich hab' aber eine eigene my.cnf gehabt, die sich aus einer Beschreibung zur Optimierung von MariaDB auf der Syno entwickelt hat. Ich hab' jetzt einfach mal das Beispiel aus dem Artikel genommen und seitdem sind keine Fehler mehr aufgetreten.

In dem Fall war meine Optimierung wohl eher kontraproduktiv... ;)
 

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
191
Punkte für Reaktionen
12
Punkte
24
@Adama
Ok ich bin soweit :) Hab es jetzt meine mssql Version gelöscht und neu mit MariaDB erstellt.

Ich möchte es gerne mal in meinen Worten zusammenfassen:

Datenbank anlegen in der lokalen MariaDB der Synology:
Code:
mysql -u root -p

create database syncstorage_rs;
create database tokenserver_rs;
create user 'MEINUSER'@'localhost' identified by 'MEINPASSWORT';
grant all privileges on syncstorage_rs.* to 'MEINUSER'@'%' identified by 'MEINPASSWORT';
grant all privileges on tokenserver_rs.* to 'MEINUSER'@'%' identified by 'MEINPASSWORT';

Anlegen der .env Datei mit den Enviroment Daten, die "Secrets" sind frei wählbar:
Code:
cat .env
COMPOSE_PROJECT_NAME=ffsync_rs
MYSQL_USER=MEINUSER
MYSQL_PASS=MEINPASSWORT
SYNC_MASTER_SECRET=MEINMASTERSECRET
METRICS_HASH_SECRET=MEINMETRICSHASHSECRET
DATABASE_SERVER=IP-VON-SYNOLOGY
DATABASE_PORT=3307
EXTERNAL_PORT=MEINPORT

Anlage der docker-compose.yml
Code:
version: "3.8"

services:
  firefox-sync:
    image: mozilla/syncstorage-rs:0.12.4
    network_mode: bridge
    container_name: firefox-sync
    environment:
      SYNC_HOST: 0.0.0.0
      SYNC_HUMAN_LOGS: 1
      SYNC_MASTER_SECRET: ${SYNC_MASTER_SECRET}
      SYNC_DATABASE_URL: mysql://${MYSQL_USER}:${MYSQL_PASS}@${DATABASE_SERVER}:${DATABASE_PORT}/syncstorage_rs
      SYNC_TOKENSERVER__ENABLED: "true"
      SYNC_TOKENSERVER__RUN_MIGRATIONS: "true"
      SYNC_TOKENSERVER__NODE_TYPE: mysql
      SYNC_TOKENSERVER__DATABASE_URL: mysql://${MYSQL_USER}:${MYSQL_PASS}@${DATABASE_SERVER}:${DATABASE_PORT}/tokenserver_rs
      SYNC_TOKENSERVER__FXA_EMAIL_DOMAIN: api.accounts.firefox.com
      SYNC_TOKENSERVER__FXA_OAUTH_SERVER_URL: https://oauth.accounts.firefox.com/v1
      SYNC_TOKENSERVER__FXA_METRICS_HASH_SECRET: ${METRICS_HASH_SECRET}
      SYNC_TOKENSERVER__ADDITIONAL_BLOCKING_THREADS_FOR_FXA_REQUESTS: 2
    ports:
      - ${EXTERNAL_PORT}:8000
    restart: always

Ausführen:
Code:
docker-compose up -d

Nach dem ersten Start noch die zwei Einträge in die Datenbank tokenserver_rs einfügen:
Code:
mysql -u root -p

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', '1', '0', '5', '0', '0');
(Die "5" steht für 5 Benutzer)

Im Firefox über about:config die URL eingetragen.
Code:
http(s)://servername.domain.tld:(port)//1.0/sync/1.5

Unglaublich aber funktionierte sofort :) (y) Dann haben wir (Du) es ja dann jetzt tatsächlich geschafft den "neuen" Rustserver zum laufen zu bekommen.

Folgendes würde ich Dich gerne noch fragen.
1. Welche Vorteile siehst Du jetzt mit MariaDB gegenüber MSSQL? Vermutlich reine Geschmacksache oder? Gut man spart sich halt den DB Container und nutzt die in unserem Fall schon vorhandene MariaDB auf der Synology. Das Projekt im Github scheint ja voll auf MSSQL zu setzen.
2. Was macht den der Eintrag "COMPOSE_PROJECT_NAME=ffsync_rs" in Deiner Compose genau?
3. Ich hab in meiner Compose jetzt nochmal mit 0.12.4 gearbeitet. Du glaub auch und hast danach dann auf 0.12.5 aktualisiert? Oder hattest Du jetzt sofort 0.12.5 genommen? Aktualisieren würde ich jetzt einfach in dem ich in der Compose 0.12.5 schreibe und nochmal "docker-compose up -d" ausführe richtig? Wenn die dann das mit dem "latest" gefixt haben irgendwann können wir wieder das verwenden und zukünftig wieder per Watchtower den Container aktualisieren lassen richtig?
 
Zuletzt bearbeitet:
  • Like
Reaktionen: King3R und Tuxnet

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134
Zu 1: Simpel ausgedrückt sind MariaDB und mysql (nicht MSSQL) das selbe. Aber warum soll ich einen extra Container installieren, wenn auf meiner Syno schon MariaDB läuft. Das ist der ganze Hintergrund.

Zu 2: Den Eintrag benutzt docker-compose bei einigen Benamsungen, z.B. vom Stack oder dem Network. Nicht grundsätzlich erforderlich.

Zu 3: Ja, hab's noch mit 0.12.4 installiert und kurz danach gesehen, dass es 0.12.5 gibt. Einfach den Wert im compose-File ändern und wieder docker-compose up -d starten. Du wirst dann sehen, dass er in der Meldung von Recreating Container (oder so ähnlich) spricht.

Latest bedeutet übrigens, dass er das allerneuste Image nimmt. Sollte es aber ein Update von 0.12.5 selbst, geben, also bei gleicher Versionsnummer, würde Watchtower auch den updaten.

Latest kann nämlich auch gefährlich werden. Z.B. bei Postgresql kann es bei Updates von Hauptversionen, also von 14 zu 15, Inkompatibilitäten geben, die verhindern, dass die Datenbank wieder startet.
 
  • Like
Reaktionen: mabox

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
191
Punkte für Reaktionen
12
Punkte
24
@Adama
Vielen Dank für die Infos. Hast Du schon die Info von jrconlin im Github gesehen zu MariaDB und TLS. Wenn ich es richtig verstehe spielt das für uns keine Rolle da wir mit dem Reverse Proxy (hab ich auch so eingerichtet) "davor" arbeiten richtig?
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134
Ja, hab ich gesehen.

Ich würde es auch so verstehen. Jedenfalls kann ich keine Probleme mit der neuen Version feststellen, das Teil synct wie verrückt... :D
 
  • Like
Reaktionen: mabox

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134
Übrigens nicht wundern, dass der Container nach dem Start soviel Speicher - bei mir waren es über 400 MB - verbrät. Das wird nach einiger Zeit deutlich weniger:
ffsync.PNG
 
  • Like
Reaktionen: mabox

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
191
Punkte für Reaktionen
12
Punkte
24
Hallo,
ich habe vorhin auf 0.13.0 aktualisiert. Wie besprochen "nur" die Versionsnummer im Compose File angepasst und nochmal docker-compose us -d durchgeführt.....
Lt. Shell dann die üblichen Recreating Infos usw. Nur jetzt startet der Container nicht mehr.....
Befindet sich in einer Dauerschleife..... ich glaube der startet, stoppt, startet, stoppt. Status dauerhaft "Restarting"....
Code:
702 items.

      std::rt::lang_start_internal

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/rt.rs:128:20

  16: main

  17: __libc_start_main

             at /build/glibc-6iIyft/glibc-2.28/csu/../csu/libc-start.c:308:16

  18: _start

, status: 500 }', syncserver/src/main.rs:56:55

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Panic in Arbiter thread.

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 '127.0.0.1:3306' (111)")), status: 500, backtrace:    0: <syncserver_db_common::error::DbError as core::convert::From<syncserver_db_common::error::DbErrorKind>>::from

             at syncserver-db-common/src/error.rs:119:24

      <T as core::convert::Into<U>>::into

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/convert/mod.rs:550:9

      <syncserver_db_common::error::DbError as core::convert::From<diesel::result::ConnectionError>>::from

             at syncserver-common/src/lib.rs:31:17

   1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/result.rs:2134:27

      syncserver::db::mysql::pool::run_embedded_migrations

             at syncserver/src/db/mysql/pool.rs:33:16

   2: syncserver::db::mysql::pool::MysqlDbPool::new

             at syncserver/src/db/mysql/pool.rs:65:9

   3: syncserver::db::pool_from_settings::{{closure}}

             at syncserver/src/db/mod.rs:30:29

      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/future/mod.rs:91:19

      syncserver::server::Server::with_settings::{{closure}}

             at syncserver/src/server/mod.rs:265:10

      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/future/mod.rs:91:19

      syncserver::main::{{closure}}

             at syncserver/src/main.rs:56:48

      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/future/mod.rs:91:19

   4: <tokio::task::local::RunUntil<T> as core::future::future::Future>::poll::{{closure}}::{{closure}}

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/task/local.rs:528:65

      tokio::coop::with_budget::{{closure}}

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/coop.rs:127:9

      std::thread::local::LocalKey<T>::try_with

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/thread/local.rs:445:16

      std::thread::local::LocalKey<T>::with

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/thread/local.rs:421:9

   5: tokio::coop::with_budget

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/coop.rs:120:5

      tokio::coop::budget

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/coop.rs:96:5

      <tokio::task::local::RunUntil<T> as core::future::future::Future>::poll::{{closure}}

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/task/local.rs:528:42

      tokio::macros::scoped_tls::ScopedKey<T>::set

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/macros/scoped_tls.rs:63:9

   6: tokio::task::local::LocalSet::with

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/task/local.rs:442:9

      <tokio::task::local::RunUntil<T> as core::future::future::Future>::poll

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/task/local.rs:518:9

      tokio::task::local::LocalSet::run_until::{{closure}}

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/task/local.rs:392:18

      <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/future/mod.rs:91:19

   7: tokio::runtime::shell::Shell::block_on::{{closure}}

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/runtime/shell.rs:43:54

      tokio::coop::with_budget::{{closure}}

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/coop.rs:127:9

      std::thread::local::LocalKey<T>::try_with

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/thread/local.rs:445:16

      std::thread::local::LocalKey<T>::with

             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/thread/local.rs:421:9

   8: tokio::coop::with_budget

             at /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.25/src/coop.rs:120:5

      tokio::coop::budget

:eek::cry:
 
Zuletzt bearbeitet:

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134
Kann ich nachstellen, zurückdrehen ist aber zum Glück kein Problem...
 
  • Like
Reaktionen: mabox

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134
Ich hab's mal mit einem neuen Container getestet, einmal mit MariaDB und einmal mit MySQL.

Liefen beide nicht. Es scheint, dass sie nicht auf die Datenbank zugreifen können. Es werden jedenfalls keine Tabellen beim ersten Start angelegt.

Ich hab in dem Task auf Github nachgefragt, ob schon jemand Erfahrung damit gemacht hat.
 
  • Like
Reaktionen: mabox

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
191
Punkte für Reaktionen
12
Punkte
24
Kann ich nachstellen, zurückdrehen ist aber zum Glück kein Problem...
Ok, vielen Dank fürs erneute klären im Github..... ich versuch dann jetzt auch mal zurückzudrehen :)
Was mir aufgefallen ist, ich meine die Tabelle "__diesel_schema_migrations " gab es bei der 0.12.5. noch nicht....... bin mir aber nicht sicher aber wenn ja hätte doch irgendein Zugriff auf die DB geklappt.....

EDIT: Zum Glück super einfach wieder zurück zu gehen (y)
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134
Und das Problem ist gelöst:

Ändere in deiner Compose-Datei den Wert "SYNC_DATABASE_URL" zu "SYNC_SYNCSTORAGE__DATABASE_URL".

Danach geht es wieder. Da sind Variablen geändert worden, um sie genauer zu kennzeichnen.
 
  • Like
Reaktionen: mabox

mabox

Benutzer
Mitglied seit
10. Jul 2013
Beiträge
191
Punkte für Reaktionen
12
Punkte
24
.... habs gerade gelesen im Github :) sensationell, top.... ich hatte die Nachricht ja auch gelesen von pjenvey aber mich dann tatsächlich schwer getan über den Link die Variable zu finden die sich geändert haben soll...... oder war blind, glücklicherweise hast Du es gefunden (y)
Ich könnte auch zukünftig im Github mitschreiben, hab dort auch ein Konto, oder ich melde mich hier wieder, dann bleibt der Thread hier auch "aktuell" :)
 
  • Like
Reaktionen: Adama

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134
Es hat ein kleines Bugfix gegeben:
Version 0.13.1

Update ging bei mir ohne Probleme und alles läuft wie gehabt...
 
  • Like
Reaktionen: mabox

abrocksi

Benutzer
Mitglied seit
27. Dez 2013
Beiträge
233
Punkte für Reaktionen
74
Punkte
28
Hi all,

Ich verfolge ein wenig die Posts zu Firefox Sync Server.

Ich möchte kurz reinwerfen, dass es für alle Nextcloud-Nutzer eine ähnliche Funktion gibt: App Bookmark/Lesezeichen. Dort besteht sogar die Möglichkeit, über verschiedene Browser hinweg (Firefox, Chrome, Edge) die Lesezeichen synchron zu halten.

Darüberhinaus kann man seine Lesezeichen verschlagworten, in Ordner ablegen/verschieben oder mit anderen Nextcloud-Nutzern teilen.

cheers,
abrocksi
 
Zuletzt bearbeitet:

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134
Die alte Variante basiert unter anderem auf Python 2 und wird nicht mehr gepflegt.

Mozilla stellt viel auf Rust um, eben auch den Syncserver.
 

starmagoo

Benutzer
Mitglied seit
07. Apr 2022
Beiträge
28
Punkte für Reaktionen
2
Punkte
3
Danke für die schnelle Antwort.

Ich probiere schon lange mit dem Mozilla Syncserver rum. hatte ihn bisher nur mit einem Docker Volume am laufen. Das gefiel mir aber nicht.

Habe es geschafft euren Server laufen zu lassen.
Leider klappt der Sync nicht.

Intern unter einem external Port, wie auch extern über HTTPS, bekomme ich die Anzeige im Anhang. Das Sync log sagt jedoch Fehler.

Code:
1672868431083    Sync.LogManager    DEBUG    Flushing file log
1672868431093    Sync.LogManager    DEBUG    Log cleanup threshold time: 1672004431093
1672868431102    Sync.LogManager    DEBUG    Done deleting files.
1672868433025    Services.Common.RESTRequest    DEBUG    GET https://api.accounts.firefox.com/v1/account/device/commands?index=0 200
1672868433025    Hawk    DEBUG    (Response) /account/device/commands?index=0: code: 200 - Status text: OK
1672868433025    Hawk    DEBUG    Clock offset vs https://api.accounts.firefox.com/v1: -25
1672868436199    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868482773    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868484153    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868488963    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868489091    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868496843    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868496963    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868500287    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868500427    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868507537    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868509223    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868514055    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868522786    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868542732    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868543425    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868543442    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868543448    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868547057    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868547064    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868549043    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868549049    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868550431    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868550437    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868551613    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868551618    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868553026    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868553030    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868554319    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868554324    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868557056    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868584158    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868603496    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868607031    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868619930    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868630582    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868637268    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868649586    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868675590    Sync.RemoteTabs    INFO    Can't sync tabs due to the login status: error.login.reason.network
1672868675590    Sync.RemoteTabs    INFO    Generating tab list with filter
1672868675595    Sync.RemoteTabs    INFO    Final tab list has 0 clients with 0 tabs.
1672868676708    FirefoxAccounts    INFO    Polling device commands.
1672868676708    Sync.Service    DEBUG    User-Agent: Firefox/108.0.1 (Windows NT 10.0; Win64; x64) FxSync/1.110.0.20221215175817.desktop
1672868676708    Sync.Service    INFO    Starting sync at 2023-01-04 22:44:36 in browser session bXBtSBhHs9X4
1672868676708    Sync.Service    DEBUG    In sync: should login.
1672868676708    Sync.Service    INFO    User logged in successfully - verifying login.
1672868676709    FirefoxAccounts    DEBUG    FxAccountsProfileClient: Requested profile
1672868676709    FirefoxAccounts    DEBUG    getOAuthToken enter
1672868676709    FirefoxAccounts    TRACE    getCachedToken returning cached token
1672868676709    FirefoxAccounts    DEBUG    getOAuthToken returning a cached token
1672868676709    Sync.SyncAuthManager    DEBUG    unlockAndVerifyAuthState already has (or can fetch) sync keys
1672868676709    Services.Common.RESTRequest    DEBUG    GET request to https://profile.accounts.firefox.com/v1/profile
1672868676710    Sync.Status    DEBUG    Status.login: error.login.reason.network => success.status_ok
1672868676710    Sync.Status    DEBUG    Status.service: error.login.failed => error.login.failed
1672868676710    Sync.Service    DEBUG    Fetching unlocked auth state returned success.status_ok
1672868676710    Sync.SyncAuthManager    INFO    Getting sync key
1672868676710    Sync.SyncAuthManager    INFO    Getting a sync token from: https://ffsync.mydomain.com//1.0/sync/1.5
1672868676710    Sync.SyncAuthManager    DEBUG    Getting a token using OAuth
1672868676710    FirefoxAccounts    DEBUG    getOAuthToken enter
1672868676710    FirefoxAccounts    TRACE    getCachedToken returning cached token
1672868676710    FirefoxAccounts    DEBUG    getOAuthToken returning a cached token
1672868676710    Services.Common.TokenServerClient    DEBUG    Beginning OAuth token exchange: https://ffsync.mydomain.com//1.0/sync/1.5
1672868676711    Services.Common.RESTRequest    DEBUG    GET request to https://ffsync.mydomain.com//1.0/sync/1.5
1672868676712    Services.Common.RESTRequest    DEBUG    GET request to https://api.accounts.firefox.com/v1/account/device/commands?index=0
1672868676746    Services.Common.RESTRequest    DEBUG    GET https://ffsync.mydomain.com//1.0/sync/1.5 404
1672868676746    Services.Common.TokenServerClient    DEBUG    Got token response: 404
1672868676746    Services.Common.TokenServerClient    WARN    Error processing token server response: TypeError: right-hand side of 'in' should be an object, got number(resource://services-common/tokenserverclient.js:305:11) JS Stack trace: _processTokenResponse@tokenserverclient.js:305:11
_tokenServerExchangeRequest@tokenserverclient.js:247:19
1672868676747    Sync.SyncAuthManager    ERROR    Non-authentication error in _fetchTokenForUser: TokenServerClientError({"message":{}})(resource://services-common/tokenserverclient.js:41:36) JS Stack trace: TokenServerClientError@tokenserverclient.js:39:16
_tokenServerExchangeRequest@tokenserverclient.js:253:19
1672868676747    Sync.Status    DEBUG    Status.login: success.status_ok => error.login.reason.network
1672868676747    Sync.Status    DEBUG    Status.service: error.login.failed => error.login.failed
1672868676747    Sync.SyncAuthManager    INFO    Failed to fetch the cluster URL: TokenServerClientError({"message":{}})(resource://services-common/tokenserverclient.js:41:36) JS Stack trace: TokenServerClientError@tokenserverclient.js:39:16
_tokenServerExchangeRequest@tokenserverclient.js:253:19
1672868676747    Sync.Service    DEBUG    verifyLogin failed: TokenServerClientError({"message":{}})(resource://services-common/tokenserverclient.js:41:36) JS Stack trace: TokenServerClientError@tokenserverclient.js:39:16
_tokenServerExchangeRequest@tokenserverclient.js:253:19
1672868676747    Sync.Status    DEBUG    Status.login: error.login.reason.network => error.login.reason.network
1672868676747    Sync.Status    DEBUG    Status.service: error.login.failed => error.login.failed
1672868676747    Sync.ErrorHandler    ERROR    Sync encountered a login error
1672868676747    Sync.SyncScheduler    DEBUG    Clearing sync triggers and the global score.
1672868676748    Sync.SyncScheduler    DEBUG    Next sync in 3600000 ms. (why=schedule)
1672868676750    Sync.Service    DEBUG    Exception calling WrappedLock: Error: Login failed: error.login.reason.network(resource://services-sync/service.js:1041:15) JS Stack trace: onNotify@service.js:1041:15
1672868676750    Sync.Service    DEBUG    Not syncing: login returned false.

1672868431083    Sync.LogManager    DEBUG    Flushing file log
1672868431093    Sync.LogManager    DEBUG    Log cleanup threshold time: 1672004431093
1672868431102    Sync.LogManager    DEBUG    Done deleting files.
1672868433025    Services.Common.RESTRequest    DEBUG    GET https://api.accounts.firefox.com/v1/account/device/commands?index=0 200
1672868433025    Hawk    DEBUG    (Response) /account/device/commands?index=0: code: 200 - Status text: OK
1672868433025    Hawk    DEBUG    Clock offset vs https://api.accounts.firefox.com/v1: -25
1672868436199    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868482773    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868484153    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868488963    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868489091    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868496843    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868496963    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868500287    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868500427    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868507537    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868509223    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868514055    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868522786    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868542732    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868543425    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868543442    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868543448    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868547057    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868547064    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868549043    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868549049    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868550431    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868550437    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868551613    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868551618    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868553026    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868553030    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868554319    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868554324    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write - bumping score
1672868557056    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868584158    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868603496    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868607031    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868619930    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868630582    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868637268    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868649586    Sync.Engine.Tabs.Tracker    DEBUG    Detected a tab change, but conditions aren't met for a quick write or a score bump
1672868675590    Sync.RemoteTabs    INFO    Can't sync tabs due to the login status: error.login.reason.network
1672868675590    Sync.RemoteTabs    INFO    Generating tab list with filter
1672868675595    Sync.RemoteTabs    INFO    Final tab list has 0 clients with 0 tabs.
1672868676708    FirefoxAccounts    INFO    Polling device commands.
1672868676708    Sync.Service    DEBUG    User-Agent: Firefox/108.0.1 (Windows NT 10.0; Win64; x64) FxSync/1.110.0.20221215175817.desktop
1672868676708    Sync.Service    INFO    Starting sync at 2023-01-04 22:44:36 in browser session bXBtSBhHs9X4
1672868676708    Sync.Service    DEBUG    In sync: should login.
1672868676708    Sync.Service    INFO    User logged in successfully - verifying login.
1672868676709    FirefoxAccounts    DEBUG    FxAccountsProfileClient: Requested profile
1672868676709    FirefoxAccounts    DEBUG    getOAuthToken enter
1672868676709    FirefoxAccounts    TRACE    getCachedToken returning cached token
1672868676709    FirefoxAccounts    DEBUG    getOAuthToken returning a cached token
1672868676709    Sync.SyncAuthManager    DEBUG    unlockAndVerifyAuthState already has (or can fetch) sync keys
1672868676709    Services.Common.RESTRequest    DEBUG    GET request to https://profile.accounts.firefox.com/v1/profile
1672868676710    Sync.Status    DEBUG    Status.login: error.login.reason.network => success.status_ok
1672868676710    Sync.Status    DEBUG    Status.service: error.login.failed => error.login.failed
1672868676710    Sync.Service    DEBUG    Fetching unlocked auth state returned success.status_ok
1672868676710    Sync.SyncAuthManager    INFO    Getting sync key
1672868676710    Sync.SyncAuthManager    INFO    Getting a sync token from: https://ffsync.mydomain.com//1.0/sync/1.5
1672868676710    Sync.SyncAuthManager    DEBUG    Getting a token using OAuth
1672868676710    FirefoxAccounts    DEBUG    getOAuthToken enter
1672868676710    FirefoxAccounts    TRACE    getCachedToken returning cached token
1672868676710    FirefoxAccounts    DEBUG    getOAuthToken returning a cached token
1672868676710    Services.Common.TokenServerClient    DEBUG    Beginning OAuth token exchange: https://ffsync.mydomain.com//1.0/sync/1.5
1672868676711    Services.Common.RESTRequest    DEBUG    GET request to https://ffsync.mydomain.com//1.0/sync/1.5
1672868676712    Services.Common.RESTRequest    DEBUG    GET request to https://api.accounts.firefox.com/v1/account/device/commands?index=0
1672868676746    Services.Common.RESTRequest    DEBUG    GET https://ffsync.mydomain.com//1.0/sync/1.5 404
1672868676746    Services.Common.TokenServerClient    DEBUG    Got token response: 404
1672868676746    Services.Common.TokenServerClient    WARN    Error processing token server response: TypeError: right-hand side of 'in' should be an object, got number(resource://services-common/tokenserverclient.js:305:11) JS Stack trace: _processTokenResponse@tokenserverclient.js:305:11
_tokenServerExchangeRequest@tokenserverclient.js:247:19
1672868676747    Sync.SyncAuthManager    ERROR    Non-authentication error in _fetchTokenForUser: TokenServerClientError({"message":{}})(resource://services-common/tokenserverclient.js:41:36) JS Stack trace: TokenServerClientError@tokenserverclient.js:39:16
_tokenServerExchangeRequest@tokenserverclient.js:253:19
1672868676747    Sync.Status    DEBUG    Status.login: success.status_ok => error.login.reason.network
1672868676747    Sync.Status    DEBUG    Status.service: error.login.failed => error.login.failed
1672868676747    Sync.SyncAuthManager    INFO    Failed to fetch the cluster URL: TokenServerClientError({"message":{}})(resource://services-common/tokenserverclient.js:41:36) JS Stack trace: TokenServerClientError@tokenserverclient.js:39:16
_tokenServerExchangeRequest@tokenserverclient.js:253:19
1672868676747    Sync.Service    DEBUG    verifyLogin failed: TokenServerClientError({"message":{}})(resource://services-common/tokenserverclient.js:41:36) JS Stack trace: TokenServerClientError@tokenserverclient.js:39:16
_tokenServerExchangeRequest@tokenserverclient.js:253:19
1672868676747    Sync.Status    DEBUG    Status.login: error.login.reason.network => error.login.reason.network
1672868676747    Sync.Status    DEBUG    Status.service: error.login.failed => error.login.failed
1672868676747    Sync.ErrorHandler    ERROR    Sync encountered a login error
1672868676747    Sync.SyncScheduler    DEBUG    Clearing sync triggers and the global score.
1672868676748    Sync.SyncScheduler    DEBUG    Next sync in 3600000 ms. (why=schedule)
1672868676750    Sync.Service    DEBUG    Exception calling WrappedLock: Error: Login failed: error.login.reason.network(resource://services-sync/service.js:1041:15) JS Stack trace: onNotify@service.js:1041:15
1672868676750    Sync.Service    DEBUG    Not syncing: login returned false.


Habt Ihr eine Idee?


Danke und Gruß
 

Anhänge

  • 2023-01-04_22h51_29.png
    2023-01-04_22h51_29.png
    5,9 KB · Aufrufe: 13

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.933
Punkte für Reaktionen
552
Punkte
134


 

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