cross-posted from: https://jemmy.jeena.net/post/185617
I had a hard time setting up the new sync server for Firefox which is written in Rust because the documentation is very bad.
After a lot of try and error and reading comments of people in the issue tracker I finally was able to set it up and run it successfully.
Mostly for my future self, but perhaps it also helps other people I documented it with help of a README and a docker-compose.yaml which makes it easy for me to upgrade if necessary and also to store all the other config files with examples.
nice work! I had given up on getting FF sync running. I used xBrowserSync for a while but that has no iOS support so am currently using Linkding. I will give this a shot :-)
I went this GitHub and the one it references and I still don’t know what it does.
sync server for firefox
Firefox browser data can be synced across devices. The sync service provided by Mozilla. This server is selfhosted alternative written in Rust and dockerized for easier deployment.
Thanks, I added your description to the Readme too.
Ok. That’s awesome. Thank you.
What is the reason for the systemd service? Looks to me like it only supplements the standard docker restart function. Can it be run without it? Then maybe mark it as optional while pointing out the benefits
In my world the standard way of starting and stopping services on Linux is systemd, that is why I added it. I never used the docker way and am not really familiar with it.
But I will try to update it a bit, it’s a good point overall.
Docker run commands or docker-compose.yml files offer a restart-policy flag that offer various levels of restart behavior which trigger when the container crashes, is stopped or when the Docker service starts (eg after a reboot)
How much will we save on the production Mozilla Firefox servers in terms of load?
Nothing, that is not the point.
The point is that I don’t want Mozilla to store my personal information on their servers, especially not all my passwords and surfing history.
Save in terms on load I mean CPU usage. The question is how much money they will save by we utilize this instead. I does think it is as heavy like ChatGPT or anything like that.
Personally i dont save password in the browser. I use keepassxc and the web extension to the browser. But Firefox sync for all Firefox settings, sending tabs etc.
I love it is written in Rust. Should mean fast and efficient, low memory usage.
Edit: It uses MySQL as database so it is heavy.
you are literally just posting buzzwords. You can be lean with mysql, you can write bloaty programs with rust. I would argue most rust webservices are shittier than java ones
Yes, you can write bad code and that matters most. Rust is more low level than high level language. Rust is new so not much bloat library has been written yet :) So far I have seen many lean Rust applications in the open source world. Please note I used the word “should” - no guarantees.
SQLite makes minimum memory usage much lower than MySQL. Many that would selfhost this is just for one single user and don’t need a standalone database
I can image that the application itself for doing this would not require much ram at all but having a MySQL requires much more ram usage in order of magnitudes.