RubyGems
NORA acts as a caching proxy for rubygems.org. Gem and gemspec files are cached immutably; index metadata uses TTL-based refresh. This is a proxy-only registry — publishing gems through NORA is not supported.
Client Configuration
Section titled “Client Configuration”Configure Bundler to use NORA as a mirror for rubygems.org:
bundle config mirror.https://rubygems.org http://nora.example.com:4000/gems/Or set it in your Gemfile:
source "http://nora.example.com:4000/gems/"Upstream Proxy
Section titled “Upstream Proxy”config.toml:
[gems]enabled = trueproxy = "https://rubygems.org"proxy_timeout = 30index_ttl = 300 # secondsEnvironment variables:
| Variable | Description | Default |
|---|---|---|
NORA_GEMS_ENABLED | Enable RubyGems proxy | false |
NORA_GEMS_PROXY | Upstream registry URL | https://rubygems.org |
NORA_GEMS_PROXY_AUTH | Upstream auth (user:pass) | — |
NORA_GEMS_PROXY_TIMEOUT | Upstream timeout in seconds | 30 |
NORA_GEMS_INDEX_TTL | Index cache TTL in seconds | 300 |
Features
Section titled “Features”| Feature | Status | Notes |
|---|---|---|
Compact index (/info/{name}) | Full | TTL-cached |
Gem download (/gems/{name}-{ver}.gem) | Full | Immutable cache |
Gemspec (/quick/Marshal.4.8/...) | Full | Immutable cache |
Full index (specs.4.8.gz) | Full | TTL-cached |
Latest index (latest_specs.4.8.gz) | Full | TTL-cached |
| Gem push | — | Proxy-only (read) |
Known Limitations
Section titled “Known Limitations”- Proxy-only:
gem pushis not supported. NORA caches gems downloaded from the upstream registry. - Disabled by default. Set
NORA_GEMS_ENABLED=trueto activate.