A configurable and versatile update server for all your Electron apps
Please note that using Nucleus requires that you use Electron >=2.0.0
.
You'll need to set up your own docker image using a Dockefile like below.
FROM atlassian/nucleus
COPY config.js /opt/service/config.js
Then running your built docker image will run nucleus on port 8080.
git clone https://github.com/atlassian/nucleus.git nucleus-server
cd nucleus-server
cp config.template.js config.js
yarn
yarn dev
This will launch Nucleus running on your local machine with a local file store and a SQLite database.
All the config options are thoroughly documented and explained in the config.template.js file in this repository.
Release uploading is explained inside Nucleus itself, for more advanced information check out the Uploading Docs.
Please see the following documents for more information on Nucleus and how it works.
$$$, static file stores quite simply cost less to run than arrays of update servers
Yes, check out the CloudFront section of the S3 config inside config.template.js.
Switching update servers in an Electron app is quite simple
Pretty sure it is :D
You can use the published version of this module nucleus-server
which has
an exported CLI command (nucleus
). You then run the command with the first
argument being a path to your config file. E.g.
NODE_ENV=production nucleus path/to/config.js
Please ensure you add redis session config and a proper (not local) authentication method when running in a production environment.
To enable logging you need to set DEBUG=nucleus*
.
createrepo
rpmsign
dpkg-scanpackages
dpkg-scansources
gpg
apt-ftparchive
docker
gpg
Pull requests, issues and comments welcome. For pull requests:
See the existing issues for things to start contributing.
For bigger changes, make sure you start a discussion first by creating an issue and explaining the intended change.
Atlassian requires contributors to sign a Contributor License Agreement, known as a CLA. This serves as a record stating that the contributor is entitled to contribute the code/documentation/translation to the project and is willing to have it used in distributions and derivative works (or is willing to transfer ownership).
Prior to accepting your contributions we ask that you please follow the appropriate link below to digitally sign the CLA. The Corporate CLA is for those who are contributing as a member of an organization and the individual CLA is for those contributing as an individual.
Samuel Attard |
Apache 2.0 © Atlassian Pty Ltd