github / docker / documentation
A self-hosted software repository for app deployments and updates. I developed it out of frustration with managing updates for various software applications. Omaha's goal is to be the ultimate update manager for all applications, regardless of language or platform. It could also be used as a package manager.
- Allows creating multiple accounts and hosting multiple repositories on each
- Choose from
semantic
,microsoft
, andincremental
versioning per repository - Choose from
local
(volume) orremote
(Amazon S3, Backblaze, etc.) storage for release files - Supports shared access to repositories with customizable permissions
- Supports API tokens with customizable permissions for repositories or entire accounts
- Supports both public and private repositories
- Supports rolling releases (reduce storage by automatically archiving older versions)
- Supports release tagging (such as
latest
andnext
) - Supports release searches with constraints (such as
^1.0.0
) - Supports multiple assets per release (such as
windows
andlinux
binaries) - Supports websocket connections for realtime events
To support all of these features, omaha
offers a complete REST API, a convenient web interface, a command line tool, as well as official clients in JavaScript and C# for interacting with the API.
This is a work in progress – here's an overview of the current status:
- REST API
- Web interface
- API client (JS)
- API client (C#)
- Docker deployment
- NuGet deployment
MIT