Direkt zum Hauptinhalt

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)

grafik.png

grafik.png

🔐 🔄 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:

  1. Öffne diese Adresse in Firefox: about:support

     

    1. Klicke oben rechts auf den Button:

      „Firefox bereinigen…“

    2. Bestätige den Dialog:

      „Firefox bereinigen“

    3. 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