Brave Sync Server
Beschreibung:
Mann kann den Brave Sync Server.
Auch selbst betreiben, gibt ein Projekt auf Github im docker-container dafür.
https://github.com/brave/go-sync
✅ Was Brave Sync aktuell synchronisiert (Stand 2025):
| Kategorie | Synchronisiert? | Beschreibung |
|---|---|---|
| 🔖 Lesezeichen | ✅ Ja | Alle Lesezeichen inkl. Ordnerstruktur |
| 📂 Lesezeichen-Favoritenleiste | ✅ Ja | Auch diese wird übernommen |
| 📄 Chronik (Verlauf) | ✅ Ja | Browser-Historie |
| 🧠 Formulardaten (Autofill) | ✅ Ja | Namen, Adressen, Telefonnummern, etc. |
| 🔐 Passwörter | ✅ Ja | Gespeicherte Anmeldedaten |
| 🎨 Designs/Themes | ✅ Ja | Farbthema des Browsers |
| 🧩 Erweiterungen/Add-ons | ✅ Ja | Installierte Chrome-Extensions |
| ⚙️ Einstellungen | ✅ Ja | Viele (nicht alle) Einstellungen werden übernommen |
| 📱 Offene Tabs | ✅ Ja | Geräteübergreifender Tab-Verlauf |
| 🧭 Suchmaschinen-Einstellungen | ✅ Ja | Eigene oder angepasste Suchanbieter |
| 🔒 Zahlungsmethoden | ✅ Ja | Kreditkartendaten etc. (wenn aktiviert) |
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
💡 Was genau wird gelöscht?

