Pulse: open, trustworthy, decentralised sync and cloud service
ind.ie
ind.ie
I just implemented Syncthing on a cluster of front-end web servers. I know best practice would be using hooks to make all my web servers update from a Git repository, but I prefer to do dev on one server and then just update one production server when I go live. Syncthing simply replicates the right directories to the rest of the front-end servers.
I have 8 static asset web servers that run on low-end VPS's with just 256 megs of memory. Syncthing only consumes about 15 megs of that precious memory, leaving plenty for Nginx.
Syncthing is competing with BTSync. BTSync has the disadvantage of being a closed-source product, but it's far easier to setup and configure. Syncthing will take a bit of configuration to get everything just right. It also comes as a plain binary without a native way to make it a system daemon. You have to come up with your own init.d, move config files to a shared directory, set the right permissions on that config file directory, etc.
BTSync is also a lot easier when it comes to adding shared folders. With their system, you share a folder on one computer and receive a key and a secret. On other computers, you simply pick an empty folder, enter the key and secret, and then everything synchronizes.
With SyncThing, you have to configure the relationship on all sides of the connection. When you start setting up a big mesh of dozens of machines, this gets very very tedious and you find yourself just picking one machine to be the "master" and pointing each machine to that one master. This has the downside of not being able to source pieces of the replication from all of the various servers.
>Syncthing is becoming Ind.ie Pulse
would indicate it's a rebranding, but I see no evidence on the Syncthing side of things that this is the case
In my case git hooks would not have worked as each web server generates content that needs to be available on all of them afterwards.
I hope they're going to do well and get it to work smoother.
Bummer.
Tag your "central" server as an introducer on all of the other node configs, and they will all add each other (assuming they have any repositories in common). This really aids in this use case.
It appears to be a valid rebranding of the project from the developers, who are interested in extending their desire somehow to a privacy-centered phone OS? Seems like quite a big pivot.
With that team, they want to create free versions of Dropbox (Indie Pulse), Android/iOS (Indie Phone), Facebook (Heartbeat)?
Love the idea and intentions, so I hope they get good support on their open-source projects.
But peer discovery is the whole point of BTSync. Sure, Syncthing/Pulse is an improvement over rsync, but only an incremental one. BTSync, with its peer discovery, is a radical improvement.
Even having a roadmap for peer discovery would make me a lot more interested in it. As it is, no thanks, I have better things to do than maintain N^2 configuration problems.
You do need to know the node ID and repository ID, and the nodes both need to establish that relationship. But the mutual acceptance of the node ID is how trust is established so I don't see how that could be made optional. They could allow for UI improvements where the user is prompted to add a repository that has been published from another node rather than requiring that to be manually added, but that's just a ui change.
I haven't used btsync so I'm unclear on what specifically is missing on syncthing in this respect. It seems to be pretty good with respect to discovery.
Memory use is consistently under 15 MB and CPU use in the low single % figures. I am only syncing my notes, for the most part, but it fits the bill perfectly.
Excited to see where the project goes from here, having just read about the Indie team's phone project in Linux Voice recently.