/nuts

:chestnut: Releases/downloads server with auto-updater and GitHub as a backend

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Nuts

Nuts is a simple (and smart) application to serve desktop-application releases.

Schema

It uses GitHub as a backend to store assets, and it can easily be deployed to Heroku as a stateless service. It supports GitHub private repositories (useful to store releases of a closed-source application available on GitHub).

Deploy

Features

  • Store assets on GitHub releases
  • Proxy releases from private repositories to your users
  • Simple but powerful download urls
    • /download/latest
    • /download/latest/:os
    • /download/:version
    • /download/:version/:os
    • /download/channel/:channel
    • /download/channel/:channel/:os
  • Support pre-release channels (beta, alpha, ...)
  • Auto-updates with Squirrel
    • For Mac using /update?version=<x.x.x>&platform=osx
    • For Windows using Squirrel.Windows and Nugets packages
  • Private API
  • Use it as a middleware: add custom analytics, authentication
  • Serve the perfect type of assets: .zip for Squirrel.Mac, .nupkg for Squirrel.Windows, .dmg for Mac users, ...
  • Release notes endpoint
    • /notes/:version
  • Up-to-date releases (GitHub webhooks)
  • Atom/RSS feeds for versions/channels

Deploy it / Start it

Follow our guide to deploy Nuts.

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.