Check out Pecans if you want an update to date update server for your electron project.
At Spaceage.tv , we needed an update server for an Electron app using Squirrel. Our goals were to be able to use Github to manage our releases in our private repo and minimize our infrastructure and operating costs. We reviewed the existing options.
We quickly disqualified Electron Release Server. We would be on the hook to store files and provide the bandwidth to download them. We didn’t want to take on those costs or the potential overhead. We’re already paying for it with Github.
Hazel had a lot of promise. It generates signed download links to files published as a part of a Github Release from a private repo. It had some UI elements we didn’t really think were necessary. Our update UIs are all in our app or will be on our website in the future. We really just needed a feed of releases and for download works. We also encountered a number of 500 errors and the issue queue is a litany of unaddressed functional bugs.
Like Electron Release Server, Nucleus requires a database and file storage, so not a fit for our case.
Nuts just worked when we tried it. Unfortunately, it proxied the downloads from our private repo releases. While it worked, it hadn’t seen a commit since 2017 and its dependencies were stale.
If we had to use something out of the box, Nuts would have been our choice. However after some discussion and review of Nuts code, we decided to just go ahead and address our issues. Seeing that the nuts maintainers hadn’t been actively maintaining the project for 4 years, we went ahead and forked the project to create Pecans.
At this juncture, Pecans is an API compatible port of Nuts to ES6, with all dependencies updated, and uses redirects to private downloads using signed urls instead of proxying.