Skip to content
forked from getstation/nuts

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

License

Notifications You must be signed in to change notification settings

theblitzapp/nuts

 
 

Repository files navigation

Nuts

Deploying Nuts (Production)

  • Prerequisite: Access to GCP
  • Env variables used are in ~/.profile under root account
  • Commands:
gcloud compute ssh nuts
sudo -i
cd nuts
git pull
pm2 restart all
pm2 list
pm2 log

Deploying Nuts Cloudflare Invalidator (Production)

  • Prerequisite: Access to GCP
  • Env variables used are in ~/.profile under root account
  • Commands:
gcloud compute ssh nuts
sudo -i
screen -r invalidator
# Chanage cloudflare-invalidator.py and start it again
ctrl + a
ctrl + d

Deploying Nuts Test (Development)

  • Prerequisite: Access to GCP
  • Commands:
gcloud compute ssh nuts-test
sudo -i
cd nuts
git pull
pm2 restart all
pm2 list
pm2 log

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.6%
  • Dockerfile 0.4%