Skip to content

Keep your distributed on-premise binaries up-to-date

License

Notifications You must be signed in to change notification settings

denudge/auto-updater

Repository files navigation

Disclaimer: This project is work-in-progress.

Auto-Updater

Keep your distributed on-premise software up-to-date

Overview

Distributing on-premise software is quite easy at-first - just put your executable on on your website and wait for users to come by. But once installed, keeping distributed software up-to-date is often cumbersome, as most users do not frequently check vendor websites or repositories for updates. Also, users are afraid of installing updates as they fear to lose data, tweaked configuration or functionality.

If your software is not distributed over any official channel like app stores or package repositories, chances are high your clients run a wide spread of outdated versions. These may use deprecated API calls, have functional bugs and - even worse - exploitable security flaws.

This project aims to ease software self-updating.

Installation

The updater consists of two parts: A catalog server containing all your available versions and a local updater client. The catalog server also includes CLI commands to manage the versions.

Running the catalog server

You can simply run the catalog server per-project, containing only the versions for that particular software product. That way, it does not create cross-team dependencies.

The server consists of only one executable, which can be build using the make command or even just go build.

$ make build-catalog

// Next we need to initialize the database
$ edit ".env" file to set "POSTGRES_DSN"
$ ./bin/catalog db init
$ ./bin/catalog db migrate

// then you can run the HTTP server
$ ./bin/catalog serve

Use the GOOS and GOARCH environment variables to cross-compile for a different architecture when needed.

About

Keep your distributed on-premise binaries up-to-date

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published