Retour au classement

ArekSredzki/electron-release-server

JavaScript

A fully featured, self-hosted release server for electron applications, compatible with auto-updater.

electronelectron-applicationupdaternodejsangularjsupdate-serversquirrel
Croissance des étoiles
Étoiles
2.2k
Forks
561
Croissance hebdomadaire
Issues
52
1k2k
févr. 2016juil. 2019janv. 2023juil. 2026
Artefactsnpmnpm install electron-release-server
README

Electron Release Server

GitHub stars GitHub forks Join the chat at https://gitter.im/ArekSredzki/electron-release-server

A node web server which serves & manages releases of your Electron App, and is fully compatible with Squirrel Auto-updater (which is built into Electron).

Electron Release Server Demo

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 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 to update your database! Sorry for the inconvenience.

Features

  • :sparkles: Docker :whale: support (thanks to EvgeneOskin)!
  • :sparkles: Awesome release management interface powered by AngularJS
    • 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 & Waterline
  • :sparkles: Code-less app customization through env variables
  • :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:
    • 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
  • :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.

Auto-updater / Squirrel

This server provides an endpoint for Squirrel auto-updater, it supports both OS X and Windows.

Documentation

Check out the documentation for more details.

Building Releases

I highly recommend using 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.

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.

License

MIT License

Dépôts similaires
microsoft/vscode

Visual Studio Code

TypeScriptnpmMIT Licenseeditorelectron
code.visualstudio.com
187.8k41.3k
electron/electron

:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS

C++MIT Licenseelectronjavascript
electronjs.org
122.1k17.3k
microsoft/playwright

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

TypeScriptnpmApache License 2.0playwrighttesting
playwright.dev
93.2k6.1k
toeverything/AFFiNE

There can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

TypeScriptnpmOthereditorcrdt
affine.pro
70.7k5.1k
atom/atom

:atom: The hackable text editor

JavaScriptnpmMIT Licenseatomeditor
atom.io
60.8k17.2k
marktext/marktext

📝A simple and elegant markdown editor, available for Linux, macOS and Windows.

TypeScriptnpmMIT Licensemacostypewriter-mode
marktext.me
59k4.4k
laurent22/joplin

Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.

TypeScriptnpmOtherreact-nativenodejs
joplinapp.org
55.7k6.2k
agalwood/Motrix

A full-featured download manager.

JavaScriptnpmMIT Licensemotrixaria2
motrix.app
52.3k4.9k
lyswhut/lx-music-desktop

一个基于 Electron 的音乐软件

TypeScriptnpmApache License 2.0music-playerjavascript
lyswhut.github.io/lx-music-doc/
52.3k6.9k
upscayl/upscayl

🆙 Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows.

TypeScriptnpmGNU Affero General Public License v3.0aiesrgan
upscayl.org
47.4k2.4k
siyuan-note/siyuan

A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang.

TypeScriptnpmGNU Affero General Public License v3.0note-takinglocal-first
b3log.org/siyuan
45.3k2.9k
GitSquared/edex-ui

A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.

JavaScriptnpmGNU General Public License v3.0terminalscience-fiction
45k3.2k