Firefox Sync Server Beschreibung: Mann kann den Firefox Sync Server. Auch selbst betreiben, gibt ein Projekt auf Github im docker-container dafür. Das macht das Floccus Addon obsolete. Vorraussetzung: Hier https://accounts.firefox.com ein Konto erstellen Was wird Synchronisiert: Passwortsafe Formular Daten Lesezeichen Tabs Chronik Was wird nicht synchronisiert Keine Add-ons oder komplette Einstellungen (leider) Wenn das gewünscht ist müsste man das Firefox Profil auf dateiebene Syncen zum Beispiel mit Nextcloud synthing. Nachteil es darf immer nur eine Firefox Instanz auf sein. Aber in der Regel wollen wir ja, gar keine Firefox Einstellungen und Addons syncen Vorrausetzung: Public IP Installation apt install docker.io docker-compose curl Verzeichnis erstellen mkdir /root/mozillasync nun die .env Datei erstellen nano /root/mozillasync/.env Inhalt PUBLIC_URL ="http://localhost:5000" # ändere auf https://sync.example.com bei Proxy: "http://localhost:5000" # ändere auf https://sync.example.com bei Proxy Nun die Docker-compose Datei erstellen nano /root/mozillasync/docker-compose.yml Inhalt version: '3.7' services: firefox-sync: image: mozilla/syncserver container_name: firefox-sync restart: unless-stopped environment: SYNCSERVER_PUBLIC_URL: ${PUBLIC_URL} SYNCSERVER_SECRET: "supergeheimes-passwort-ändern" # mind. 8 Zeichen, frei wählbar SYNCSERVER_SQLURI: 'sqlite:////data/syncserver.db' SYNCSERVER_BATCH_UPLOAD_ENABLED: "true" SYNCSERVER_FORCE_WSGI_ENVIRON: "true" PORT: '5000' volumes: - firefox-sync-data:/data caddy: image: caddy:latest restart: always ports: - "80:80" - "443:443" command: caddy reverse-proxy --from ${PUBLIC_URL} --to firefox-sync:5000 volumes: - ./data/caddy/data:/data - ./data/caddy/config:/config volumes: firefox-sync-data: nun Datenverzeichnis anlegen und rechte vergeben mkdir -p /root/mozillasync/firefox-sync-data chmod 777 /root/mozillasync/firefox-sync-data Nun die container starten docker-compose up -d Nun noch die ufw Firewall regeln anpassen. Da hier der Docker container sowieso von außen erreichbar sein soll, brauchen wir hier keine Anspassung für docker. Aber ssh soll nur auf der lokalen Netzwerkkarte zur Verfügung stehen ufw installieren apt install ufw Nun die Regeln setzten ufw allow in on enp6s18 to any port 22 ufw enable Firefox-Konfiguration: Mozilla Firefox Account erforderlich, aber daten laden aufm Server den wir gerade installiert haben In Firefox unter about:config : Schlüssel Wert identity.sync.tokenserver.uri http://localhost:5000/token/1.0/sync/1.5 (oder deine Domain) 🔐 🔄 Wie funktioniert Firefox Sync (mit eigenem Server)? ✅ Was du selbst hostest: Speicher-Backend für Sync-Daten z. B. Lesezeichen, Passwörter, Chronik liegt auf deinem Server (statt bei Mozilla) ❗ Was nicht selbst gehostet wird: Mozilla-Konto-System (Accounts Server / Auth / OAuth) → Firefox-Login läuft weiterhin über Mozilla , außer du hostest auch den Firefox Account Server (aufwändig, meist unnötig) 🧠 Was bedeutet das konkret? Szenario Ergebnis Du loggst dich mit deinem Mozilla-Konto ein Deine Daten landen auf deinem eigenen Server ✅ Fremder kennt deine Sync-Server-Adresse Er kann sich mit seinem eigenen Mozilla-Konto anmelden Fremder hat nicht dein Mozilla-Passwort Er kommt nicht an deine Daten 🛡️ Fremder nutzt deinen Server trotzdem Ja, er kann dort seine eigenen Daten speichern – isoliert Du willst das verhindern → Mit Basic Auth oder IP-Filter abschotten 🔐 🔄 🔧 Firefox zurücksetzen („Bereinigen“) ✅ So geht's Schritt für Schritt: Öffne diese Adresse in Firefox: about:support   Klicke oben rechts auf den Button: „Firefox bereinigen…“ Bestätige den Dialog: „Firefox bereinigen“ Firefox wird neu gestartet – es wird: ein neues Profil angelegt Lesezeichen, Passwörter und Cookies optional übernommen aber: Add-ons, Einstellungen, about:config-Werte, Suchmaschinen, Themes etc. werden gelöscht 💡 Was genau wird gelöscht? Wird behalten Wird gelöscht ✔ Lesezeichen ❌ Add-ons ✔ Passwörter ❌ Themes ✔ Cookies ❌ Einstellungen (auch about:config ) ✔ Chronik (optional) ❌ Suchmaschinen (benutzerdefiniert)   ❌ Benutzerprofileinstellungen