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.
一些专业的二进制存储库管理器(如Artifactory )支持私有RubyGems存储库。
Have you tried prefixing the source url with your basic auth credentials:
gem sources -a http://user:password@localhost:9292
This works for me with an apache + passanger setup.
Bundler 1.6版通过bundle config添加了对HTTP auth的支持。
You can easily setup private rubygems repository from geminabox docker image:
docker run -d -v /path_where_to_store_gems:/webapps/geminabox/data --name geminabox -p 9292:9292 -P -h geminabox -e PRIVATE=true -e USERNAME=myuser -e PASSWORD=mypassword spoonest/geminabox:latest
don't forget to change:
/path_where_to_store_gems
- path on your local machine where you want to store your gems myuser
- username mypassword
- password That's all. Your repository is accessible by url http://YOUR_HOST:9292
Add following line at the top of your Gemfile
:
source 'http://myuser:mypassword@YOUR_HOST:9292'
... and use bundle install
as usual.
take a look if my fork of geminabox is what you need. I add the authentication for managing gems.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.