Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Ruby
  3. Gemirro

Gemirro

GPL-3.0Rubyv2.0.0

A Ruby application to automatically create and maintain a RubyGems mirror with on-demand gem downloads.

Visit WebsiteGitHubGitHub
153 stars26 forks0 contributors

What is Gemirro?

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.

Target Audience

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.

Value Proposition

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.

Overview

Gem to automatically make a rubygems mirror.

Use Cases

Best For

  • Creating a self-hosted RubyGems mirror for development teams
  • Ensuring gem availability during RubyGems service interruptions
  • Hosting private Ruby gems internally without external dependencies
  • Automating gem mirror updates with minimal configuration
  • Setting up a local gem cache for CI/CD pipelines
  • Providing a reliable gem source in air-gapped or restricted network environments

Not Ideal For

  • Environments requiring a fully pre-populated, offline gem mirror from day one
  • Teams with strict security policies that block on-the-fly downloads from external sources
  • Projects using multiple package managers beyond RubyGems (e.g., npm, pip)
  • Small-scale personal setups where a simple gem cache via `gem source --add` suffices

Pros & Cons

Pros

Automatic On-Demand Mirroring

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.'

Private Gem Integration

Supports internal gems by allowing users to place them in a designated `gems` directory, making it flexible for both public and private repositories.

Simple Configuration Setup

Uses a straightforward `config.rb` file to define sources and settings, enabling quick deployment with minimal setup effort.

Integrated Web Server

Includes a built-in server with ready-to-use Apache and Nginx configurations, facilitating easy public or internal access without additional server software.

Cons

Ruby Version Lock-In

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.

Known Setup Quirks

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.

On-Demand Latency

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.

Frequently Asked Questions

Quick Stats

Stars153
Forks26
Contributors0
Open Issues7
Last commit3 months ago
CreatedSince 2014

Tags

#rubygems#server#cli-tool#mirror#dependency-management#package-management#ruby#self-hosted#automation

Built With

R
Ruby

Links & Resources

Website

Included in

Ruby14.1k
Auto-fetched 6 hours ago

Related Projects

Gem in a boxGem in a box

Really simple rubygem hosting

Stars1,547
Forks324
Last commit15 hours ago
GemstashGemstash

A RubyGems.org cache and private gem server

Stars793
Forks140
Last commit11 days ago
GemfastGemfast

A drop in replacement for geminabox written in Go

Stars74
Forks3
Last commit22 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub