Freedom251 › Artifact repository software
Geminabox

What Geminabox is
Geminabox is a free, self-hosted option for teams that want to host private Ruby gems and push new ones to their own server. Bundler can find hosted gems through the compact index without client configuration. Geminabox runs as a Rack application and can be started with rackup or deployed using Rack servers such as Passenger, Puma, and Unicorn. The project also documents a Docker deployment; a mounted data volume preserves gems when a container is replaced. Clients can push gems using the standard gemcutter push API or the gem inabox plugin, and yank them through the gemcutter yank API. Authentication is handled by the web server or Rack stack, with Rack::Auth::Basic suggested for basic authentication. For publicly accessible servers, the setup guidance recommends Rack::Protection to help prevent XSS and CSRF vulnerabilities. The project recommends scoped Gemfile sources to guard against dependency confusion. It requires Ruby 3.0 or later and RubyGems 3.2.3 or later. RubyGems proxy support was removed in version 4.0. The project is MIT licensed.
Who it suits
Geminabox suits teams managing their own Ruby gems and able to run a self-hosted Rack application. It may also fit teams deploying gem hosting through Docker.
What it does well
- Free and MIT licensed.
- Bundler finds gems through the compact index without client configuration.
- Supports Rack servers and Docker deployment.
- Clients can push and yank gems through gemcutter APIs.
What to know first
- Requires Ruby 3.0 or later and RubyGems 3.2.3 or later.
- Authentication is left to the web server or Rack stack.
- RubyGems proxy support was removed in version 4.0.
Limits
Geminabox has a free plan, but it is self-hosted and requires the listed Ruby and RubyGems versions. RubyGems proxy support is unavailable from version 4.0 onward.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Geminabox | Self-hosted RubyGems hosting · MIT licensed | Free |
As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Geminabox project website
- Prepare Linux with Ruby 3.0 or later and RubyGems 3.2.3 or later
- Run it as a Rack application with rackup or a Rack server
- Deploy with Docker and mount a data volume if using containers
- Configure authentication in the web server or Rack stack
- Push gems with gemcutter or the gem inabox plugin
Verdict
Geminabox provides a self-hosted route for private Ruby gem hosting, with documented Rack and Docker deployment options. Teams need to handle authentication and follow the project’s security guidance for exposed servers.
Questions
Is Geminabox free?
Yes. The Geminabox plan is free, and the project is MIT licensed.
Which platforms does it support?
It supports Linux, self-hosted deployments, and web access.
Does Bundler need special client configuration?
Bundler finds hosted gems through Geminabox's compact index without client configuration.
How are gems uploaded and removed?
Clients can push with the standard gemcutter push API or gem inabox plugin, and yank with the gemcutter yank API.
Does it provide authentication?
Authentication is supplied by the web server or Rack stack, with Rack::Auth::Basic suggested.
Can it proxy RubyGems?
RubyGems proxy support was removed in version 4.0.
Facts from Geminabox's own pages
- Audience
- It provides private gem hosting for teams managing their own Ruby gems. · github.com, 11 Oct 2026
- Authentication
- Authentication is left to the web server or Rack stack, and the README suggests Rack::Auth::Basic for basic authentication. · github.com, 11 Oct 2026
- Bundler integration
- Bundler finds hosted gems through the compact index without client configuration. · github.com, 11 Oct 2026
- Dependency safety
- The README recommends scoped Gemfile sources, which pin each gem to one source to guard against dependency confusion. · github.com, 11 Oct 2026
- Deployment
- Geminabox runs as a Rack application and can be started with rackup or deployed with Rack servers such as Passenger, Puma, and Unicorn. · github.com, 11 Oct 2026
- Docker
- The project documents running Geminabox in Docker and notes that a mounted data volume preserves gems when the container is replaced. · github.com, 11 Oct 2026
- Integrations
- A gem-received hook can run custom code such as a team-chat notification, but the hook blocks upload processing unless slow work is made asynchronous. · github.com, 11 Oct 2026
- License
- The GitHub repository identifies the project as MIT licensed. · github.com, 11 Oct 2026
- Proxy limitation
- RubyGems proxy support was removed in version 4.0 because the dependency API it relied on was sunset and merged local and remote sources could invite dependency confusion. · github.com, 11 Oct 2026
- Purpose
- Geminabox lets you host your own gems and push new gems to it like rubygems.org. · github.com, 11 Oct 2026
- Push and yank
- Clients can push gems with the standard gemcutter push API or the gem inabox plugin, and yank gems with the gemcutter yank API. · github.com, 11 Oct 2026
- Ruby requirements
- The README lists Ruby 3.0 or later and RubyGems 3.2.3 or later as system requirements. · github.com, 11 Oct 2026
- Security guidance
- For a publicly accessible server, the setup example recommends Rack::Protection to help prevent XSS and CSRF vulnerabilities. · github.com, 11 Oct 2026
Where Geminabox stands on Freedom251
- Artifact repository software#16 of 64