A Ruby application to automatically create and maintain a RubyGems mirror with on-demand gem downloads.
Gemirro is a Ruby application that automates the creation and maintenance of a RubyGems mirror. It solves the problem of gem unavailability during RubyGems downtime by allowing users to host their own mirror with on-demand gem downloads and support for private gems. The tool includes a built-in server that fetches gems automatically when requested, keeping the mirror updated without manual configuration.
Ruby developers, DevOps engineers, and organizations needing a reliable, self-hosted RubyGems mirror to ensure continuous access to gems, especially in environments with limited internet connectivity or during upstream outages.
Developers choose Gemirro for its automatic mirroring capability, which eliminates the need to manually list gems, and its support for private gems, making it a flexible solution for both public and internal gem repositories. Its simple setup and on-demand download feature reduce maintenance overhead compared to static mirroring tools.
Gem to automatically make a rubygems mirror.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The built-in server downloads gems automatically when requested, eliminating manual gem listing, as highlighted in the README: 'gems will automaticly be downloaded when needed.'
Supports internal gems by allowing users to place them in a designated `gems` directory, making it flexible for both public and private repositories.
Uses a straightforward `config.rb` file to define sources and settings, enabling quick deployment with minimal setup effort.
Includes a built-in server with ready-to-use Apache and Nginx configurations, facilitating easy public or internal access without additional server software.
Requires Ruby 3.0 or newer, which may not be available in legacy environments, limiting adoption in older systems or teams stuck on Ruby 2.x.
The README admits issues like 'could not find a temporary directory' errors, requiring manual fixes such as running `chmod o+t /tmp`, which can be confusing for new users.
First-time gem requests incur download delays since gems are fetched on-demand, potentially slowing down initial development or CI/CD runs in bandwidth-constrained setups.