FireFox-Sync-Server – selfhosted… endlich!!
Nachdem Mozilla noch nicht so wirklich mit der neuen Entwicklung in die Gänge kommt, ist man immer noch auf die alte Python 2.7 Variante angewiesen… Aus Sicherheitsgründen sollte das aber nicht auf dem Produktivsystem laufen. Deswegen hier die Doku mittels Docker…
Der Thilo – mein Kollege – hat mir hier seeeehr weitergeholfen – Dankeschön 🙂 /Widmung_Ende 😛
Grundvoraussetzung ist ein Firefox-Konto. Sollte das noch nicht vorhanden sein, bitte hier anlegen…
Zuerst erstellen wir uns mal das benötigte Secret…
head -c 20 /dev/urandom | sha1sum
Als Beispiel kommt hier e9gz9eeea5723e247b39065258e57232866d5182 raus…
Der Docker-Container wird wie folgt gestartet…
docker run -d -p 5000:5000 --name firefox_syncserver --restart=always \ -v ff-syncserver:/data \ -e TZ="Europe/Paris" \ -e FF_SYNCSERVER_FORCE_WSGI_ENVIRON="true" \ -e FF_SYNCSERVER_FORWARDED_ALLOW_IPS="*" \ -e FF_SYNCSERVER_PUBLIC_URL="https://sub.domain.tld" \ -e FF_SYNCSERVER_SECRET="e9gz9eeea5723e247b39065258e57232866d5182" \ crazymax/firefox-syncserver:latest
Die Konfiguration ist auf einen Reverse-Proxy (NGINX) angepasst.
Im Firefox muss man mit about:config die erweiterten Einstellungen aufrufen, und nach identity.sync.tokenserver.uri suchen.
Der vorhandene Wert muss wie folgt ersetzt werden: https://sub.domain.tld/token/1.0/sync/1.5
Backup:
Um die Datenbank das Sync-Servers täglich zu sichern, kann man einen Cronjob mit folgendem Parameter anlegen…
docker run --rm -v ff-syncserver:/ff-sync -v /mnt/array/Backups/FireFoxSync:/backup alpine tar -czvf /backup/$(date +\%Y\%m\%d)_ff-sync.tgz /ff-sync
Der fett gedruckte Bereich ist der Pfad zur Sicherung.
Dieser könnte dann wie folgt aussehen…
30 02 * * * docker run --rm -v ff-syncserver:/ff-sync -v /mnt/array/Backups/FireFoxSync:/backup alpine tar -czvf /backup/$(date +\%Y\%m\%d)_ff-sync.tgz /f>
Damit wird jeden Tag nachts um 2:30 Uhr die Sicherung auf /mnt/array/Backups/FireFoxSync geschrieben. Die Datei nennt sich (Datum)_ff-sync.tgz
Getestet auf AMD Ryzen 5 3400G / ASUS Prime B450-Plus & Banana Pi Pro