# electron-release-server **Repository Path**: nbddm/electron-release-server ## Basic Information - **Project Name**: electron-release-server - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-06 - **Last Updated**: 2025-12-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Electron Release Server [![GitHub stars](https://img.shields.io/github/stars/ArekSredzki/electron-release-server.svg)](https://github.com/ArekSredzki/electron-release-server/stargazers) [![GitHub forks](https://img.shields.io/github/forks/ArekSredzki/electron-release-server.svg)](https://github.com/ArekSredzki/electron-release-server/network) [![Join the chat at https://gitter.im/ArekSredzki/electron-release-server](https://badges.gitter.im/ArekSredzki/electron-release-server.svg)](https://gitter.im/ArekSredzki/electron-release-server?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) >A node web server which serves & manages releases of your [Electron](http://electron.atom.io) App, and is fully compatible with [Squirrel](https://github.com/Squirrel) Auto-updater (which is built into Electron). [![Electron Release Server Demo](https://j.gifs.com/wpyY1X.gif)](https://youtu.be/lvT7rfB01iA) _Note: Despite being advertised as a release server for Electron applications, it would work for **any application using Squirrel**._ If you host your project on your Github **and** do not need a UI for your app, then [Nuts](https://github.com/GitbookIO/nuts) is probably what you're looking for. Otherwise, you're in the same boat as I was, and you've found the right place! ## Advisory Notices **IMPORTANT:** - Version `2.0.0` updates many packages, most importantly to SailsJS 1.x.x. At a bare minimum, you must rename `connections` to `datastores` in your `config/local.js` file. You may need to make further changes depending on how significantly you have customized the project. - The release of Angular `1.6.0` has broken all `electron-release-server` versions prior to `1.4.2`. Please use the instructions under the `Maintenance` heading below to update your fork! Sorry for the inconvenience. - Since release `1.5.0` several models have changed to accommodate new features. Please use the instructions under [Migration](docs/database.md#migration) to update your database! Sorry for the inconvenience. ## Features - :sparkles: Docker :whale: support (thanks to EvgeneOskin)! - :sparkles: Awesome release management interface powered by [AngularJS](https://angularjs.org) - Authenticates with LDAP, easy to modify to another authentication method if needed - :sparkles: Store assets on server disk, or Amazon S3 (with minor modifications) - Use pretty much any database for persistence, thanks to [Sails](http://sailsjs.org) & [Waterline](http://waterlinejs.org) - :sparkles: Code-less [app customization through env variables](docs/customization.md) - :sparkles: Simple but powerful download urls (**NOTE:** when no assets are uploaded, server returns `404` by default): - `/download/latest` - `/download/latest/:platform` - `/download/:version` - `/download/:version/:platform` - `/download/:version/:platform/:filename` - `/download/channel/:channel` - `/download/channel/:channel/:platform` - `/download/flavor/:flavor/latest` - `/download/flavor/:flavor/latest/:platform` - `/download/flavor/:flavor/:version` - `/download/flavor/:flavor/:version/:platform` - `/download/flavor/:flavor/:version/:platform/:filename` - `/download/flavor/:flavor/channel/:channel` - `/download/flavor/:flavor/channel/:channel/:platform` - :sparkles: Support pre-release channels (`beta`, `alpha`, ...) - :sparkles: Support multiple flavors of your app - :sparkles: Auto-updates with [Squirrel](https://github.com/Squirrel): - Update URLs provided: - `/update/:platform/:version[/:channel]` - `/update/flavor/:flavor/:platform/:version[/:channel]` - Mac uses `*.dmg` and `*.zip` - Windows uses `*.exe` and `*.nupkg` - :sparkles: Auto-updates with [NSIS differential updates for Windows](docs/update-windows.md#NSIS-differential-updates) - :sparkles: Serve the perfect type of assets: `.zip` for Squirrel.Mac, `.nupkg` for Squirrel.Windows, `.dmg` for Mac users, ... - :sparkles: Specify date of availability for releases - :sparkles: Release notes endpoint - `/notes/:version/:flavor?` **NOTE:** if you don't provide the appropriate type of file for Squirrel you won't be able to update your app since the update endpoint will not return a JSON. (`.zip` for Squirrel.Mac, `.nupkg` for Squirrel.Windows). ## Deploy it / Start it [Follow our guide to deploy Electron Release Server](docs/deploy.md). ## Auto-updater / Squirrel This server provides an endpoint for [Squirrel auto-updater](https://github.com/atom/electron/blob/master/docs/api/auto-updater.md), it supports both [OS X](docs/update-osx.md) and [Windows](docs/update-windows.md). ## Documentation [Check out the documentation](docs/) for more details. ## Building Releases I highly recommend using [electron-builder](https://github.com/loopline-systems/electron-builder) for packaging & releasing your applications. Once you have built your app with that, you can upload the artifacts for your users right away! ## Maintenance You should keep your fork up to date with the electron-release-server master. Doing so is simple, rebase your repo using the commands below. ```bash git remote add upstream https://github.com/ArekSredzki/electron-release-server.git git fetch upstream git rebase upstream/master ``` ## Credit This project has been built from Sails.js up by Arek Sredzki, with inspiration from [nuts](https://github.com/GitbookIO/nuts). ## License [MIT License](LICENSE.md)