Omnibus is a Ruby-based framework for building full-stack, self-contained software installers. It bundles all dependencies into a single package, ensuring consistent installations across different environments and distributions.
- Self-contained installers - Bundle all dependencies with your software
- Multi-platform builds - Generate packages for deb, rpm, and other formats
- Dependency isolation - Avoid conflicts with system packages
- Reproducible builds - Pin all dependency versions for consistency
- Build pipeline - Structured fetch, build, and package workflow
- Customizable - Ruby DSL for defining software components
- Enterprise software distribution - Ship complex applications with bundled dependencies
- Consistent deployments - Ensure identical runtime environments across machines
- Regulated environments - Deterministic builds for compliance and auditing
- Complex dependency trees - Package applications with many interdependent libraries
- Cross-distribution releases - Single build definition for multiple Linux distributions
- Language: Ruby
- Output formats: deb, rpm, pkg, etc. (via underlying packaging tools)
- Installation: Ruby gem (
gem install omnibus)
- Configuration: Ruby DSL (
omnibus_config.rb)
- ⚠️ Maintenance mode - Latest release v3.2.0 from July 2014
- Still used in legacy projects and some Chef workflows
- For new projects, consider modern alternatives
- GitLab’s omnibus-gitlab is an active example of the pattern
¶ History and References
Any questions?
Feel free to contact us. Find all contact information on our contact page.