Gemstash on Ubuntu 24.04 LTS by cloudimg
by cloudimg
RubyGems server, a pull through mirror and private gem repository, ready on first boot
Gemstash on Ubuntu 24.04 LTS
Gemstash is a RubyGems server, built by the RubyGems and Bundler team. It does two jobs on a single node: it is a pull through cache and mirror of rubygems.org, so that bundle and gem install fetch public gems through one shared endpoint that caches every gem for the whole team, and it is a private gem repository for pushing and hosting your own gems.
What is included
- Gemstash 2.8.2, MIT licensed, installed under the Ubuntu 24.04 archive Ruby (3.2, security supported)
- A pull through mirror of rubygems.org and a private gem repository on one VM
- A SQLite backed store with the gem cache and private gems under a dedicated directory
- Gemstash bound to the loopback interface behind nginx on port 80
- A unique private push API key generated per VM on first boot, never baked into the image
- A clean, empty cache and private repository on first boot, with no shipped key
- 24/7 cloudimg support
Secure by default
Gemstash gates private gem push and yank with API keys, while fetching cached public gems needs no authentication. This image ships no API key at all. On first boot a unique push key is generated with openssl, authorized, and written to a root only credentials file, and an unauthenticated private push is proven to be rejected before the instance is marked ready. The gem cache, private gems and database are created fresh per VM, so the captured image carries no cached gem, no private gem and no key.
Licensing
Gemstash is free and open source under the MIT License, shipped unmodified. There is no per seat fee. The cloudimg charge of 0.04 US dollars per vCPU hour covers packaging, security patching, image maintenance and 24/7 support. Recommended size: Standard_B2s. This image is produced by cloudimg and is not affiliated with, endorsed by, or sponsored by the RubyGems project.
Before you start
Gemstash is served over plain HTTP on port 80. Front it with TLS and your own domain and restrict the network security group before production. Prerequisites: an Azure subscription, a VNet and an SSH key. Inbound rules: port 22 for SSH and port 80 for the gem server. Deployment guide: https://www.cloudimg.co.uk/guides/gemstash-on-ubuntu-24-04-azure/ . Support: support@cloudimg.co.uk