I want to install a private Ruby gem server with some authentication. I want to be able to host in-house gems using a public Ubuntu server.
I read about http://docs.rubygems.org/read/chapter/18. But there is no authentication with that one - as I can see.
Then I read about https://github.com/cwninja/geminabox. But when I use the basic authentication (they have in their Wiki), it complaints about fetching the sources from my server.
So. How can I make a private Ruby gem server with authentication? Is that just impossible?
Thanks.
Edit:
Geminabox problem. I try to "bundle" to install new gems... but it gives me this error:
AGs-MacBook-Pro:super_app AG$ bundle
Fetching source index for http:// rubygems.org/
Fetching source index for http:// localhost:9292/
Could not reach rubygems repository http:// rubygems.org/, http:// localhost:9292/
Could not find aglipsum-0.0.1 in any of the sources
And "aglipsum" is my custom gem. However when I do not have basic authentication on, it works.
Have you tried prefixing the source url with your basic auth credentials:
This works for me with an apache + passanger setup.
Bundler version 1.6 added support for HTTP auth via bundle config.
Deploy private rubygems repository
You can easily setup private rubygems repository from geminabox docker image:
don't forget to change:
/path_where_to_store_gems
- path on your local machine where you want to store your gemsmyuser
- usernamemypassword
- passwordThat's all. Your repository is accessible by url http://YOUR_HOST:9292
Installing gems form private repository
Add following line at the top of your
Gemfile
:... and use
bundle install
as usual.Some professional binary repository managers, such as Artifactory, support private RubyGems repositories.
take a look if my fork of geminabox is what you need. I add the authentication for managing gems.
https://github.com/poshboytl/geminabox