Jeremy Hinegardner

Table of Contents

1. Overview
2. Installation
3. Usage
4. See Also
5. Development
6. Credits
7. License
8. Appendix

1. Overview

Stickler is a tool to organize and maintain an internal gem repository. Primarily, you would want to use Stickler if:

  1. You have proprietary gems that you want to have available via a gem server so you may gem install them.
  2. You would like to have a local mirror of third party gems from either or some other gem server.
  3. You want both (1) and (2) in the same server.

2. Installation

Installing stickler may be done via the standard gem installation

gem install stickler

Or downloaded from

3. Usage

Stickler is broken up into a few commandline programs.

The easiest way to get up and running with stickler is to run the standalone server stickler-server and then use stickler to interact with it.

Start up a standalone stickler server. 

% mkdir -p /tmp/stickler-test
% stickler-server start --daemonize /tmp/stickler-test

Set some sane defaults. 

% stickler config --add --server http://localhost:6789 --upstream
  server : http://localhost:6789
upstream :

% cat ~/.gem/stickler
:server: http://localhost:6789

Take a few gems and push them to the server. 

% ls -1

% stickler push *.gem
Pushing gem(s) to http://localhost:6789/ ...
  /Users/jeremy/tmp/gems/heel-2.0.0.gem     -> OK http://localhost:6789/gems/heel-2.0.0.gem
  /Users/jeremy/tmp/gems/hitimes-1.1.1.gem  -> OK http://localhost:6789/gems/hitimes-1.1.1.gem
  /Users/jeremy/tmp/gems/launchy-0.3.5.gem  -> OK http://localhost:6789/gems/launchy-0.3.5.gem
  /Users/jeremy/tmp/gems/stickler-2.0.0.gem -> OK http://localhost:6789/gems/stickler-2.0.0.gem

Mirror a gem from upstream. 

% stickler mirror --gem-version 1.4.3 logging
Asking http://localhost:6789/ to mirror logging-1.4.3 from : OK -> http://localhost:6789/gems/logging-1.4.3.gem
% stickler mirror --gem-version 1.16.2 trollop
Asking http://localhost:6789/ to mirror trollop-1.16.2 from : OK -> http://localhost:6789/gems/trollop-1.16.2.gem

Look at all the gems installed in your stickler server. Open your browser to http://localhost:6789

% launchy http://localhost:6789

Install a gem from your new stickler gem server. 

% gem install hitimes --source http://localhost:6789/

Configure your servers to globally use your internal stickler gem server. 

% cat /etc/gemrc
:benchmark: false
:verbose: false
:update_sources: true
:bulk_threshold: 1000
:backtrace: false
gem: --no-rdoc --no-ri

4. See Also

The man pages that ship with the gem. They may be viewed if you also install the gem-man gem.

% gem install gem-man
% gem man stickler
View which manual?
 1. stickler-passenger-config(1)
 2. stickler-server(1)
 3. stickler(1)

5. Development

If you want to do development on stickler, I suggest using RVM and creating a gemset for stickler.

Then run rake how_to_contribute

6. Credits

7. License

Copyright © 2008-2010 Jeremy Hinegardner ISC License, See LICENSE for details

8. Appendix