Firefox-Sync-Server selbst hosten
(blog.diego.dev)-
Ein selbst gehostetes Firefox-Sync-Server-Setup
- Nach dem Wechsel von Firefox zu LibreWolf entstand Interesse an einem selbst gehosteten Firefox-Sync-Server.
- Zunächst wurde das Sync-Server-Repository von Mozilla gefunden, es wurde jedoch nicht mehr gepflegt.
- Daher fiel die Entscheidung, stattdessen mit dem Rust-basierten
syncstorage-rsweiterzumachen.
-
Die Komplexität und Verwirrung rund um Docker
- In der Docker-Dokumentation gab es verwirrende Stellen, etwa Probleme mit passenden Versionen von
grpcioundprotobufsowie Anweisungen zum manuellen Kopieren. - Mit dem Fund des Repositories
syncstorage-rs-dockerwurde eine einfachere Docker-Konfiguration möglich.
- In der Docker-Dokumentation gab es verwirrende Stellen, etwa Probleme mit passenden Versionen von
-
Server-Einrichtung: Docker Compose und MariaDB
- Dem
docker-compose.yaml-File wurden die benötigten Dienste hinzugefügt. - Beim Setzen des Datenbankpassworts ist es wichtig, Sonderzeichen zu vermeiden.
- Der MariaDB-Container wurde gestartet und das Datenbankschema mit einem Initialisierungsskript eingerichtet.
- Danach wurde der gesamte Stack online gebracht.
- Dem
-
Reverse-Proxy-Konfiguration mit Caddy
- Der Caddy-Reverse-Proxy wurde aktualisiert, damit er auf den neuen Syncserver zeigt.
- Durch das Aktualisieren des DNS-Eintrags und einen Neustart des Proxys wurde der Server in Betrieb genommen.
-
Aufgetretene Herausforderungen
- Beim Neustart des MariaDB-Containers traten Probleme mit der Datenpersistenz auf.
- Durch Docker-Images und temporäre Dateien wurde der Speicherplatz auf dem Server knapp.
- Es dauerte eine Weile, die richtigen Einrichtungsschritte zu finden.
-
Abschließende Gedanken
- Das Einrichten eines selbst gehosteten Firefox-Sync-Servers ist keine einfache Aufgabe.
- Die offizielle Dokumentation war verwirrend, aber dank des Repositories
syncstorage-rs-dockerwar es dennoch möglich. - Es dauerte etwa zwei Stunden, aber es hat sich gelohnt.
1 Kommentare
Hacker-News-Kommentare
lmdbund Roaring-Bitmap-Indizes verwendet; rückblickend meint man, man hätterxdboderpouchdbverwenden sollen.