Skip to content
/ omaha Public

🐧 A self-hosted software repository for app deployments and updates.

License

Notifications You must be signed in to change notification settings

omaha-js/omaha

Repository files navigation

omaha logo


docker image docker image size mit license

github  /  docker  /  documentation

omaha

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, and incremental versioning per repository
  • Choose from local (volume) or remote (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 and next)
  • Supports release searches with constraints (such as ^1.0.0)
  • Supports multiple assets per release (such as windows and linux 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.

milestones

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

license

MIT