/
README
79 lines (53 loc) · 2.36 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
GeminaboxPlus is a ready-to-go application for Geminabox
(https://github.com/cwninja/geminabox) installs.
==== WHY? ====
Reindexing tasks are handled by Resque offline so you don't
have to wait around for your browser to timeout on hosts
with a lot of gems.
==== REQUIREMENTS ====
The requirements are a running Redis installation with a
special key in the default database, and two (optional)
environment variables:
REDIS_HOST: (defaults to localhost)
GEMINABOX_DATA: (defaults to /var/www/data)
Redis::Directory (https://github.com/wiecklabs/redis_directory)
is used to organize your Redis connection.
You'll need to add the following key to database 0 on your redis
install:
redis-cli -h redis.example.com -n 0 hset services resque '["redis.example.com"]'
The value can be a cluster of other Redis servers, allowing you
to organize your Redis clusters and load-balance if necessary. ie:
redis-cli -h redis.example.com -n 0 hset services \
resque '["redis1.example.com:9200", "redis2.example.com:9201"]'
Once that's done just start up your server.
==== EXAMPLE WEBSERVER ====
I use JRuby 1.7 (HEAD) on OpenJDK 7u2 running the following:
rack (1.3.6)
jruby-rack (1.1.1)
trinidad (1.2.3)
I left them out of the Gemfile (and use system gems for these)
so you can choose your own application-server (or run under MRI)
If you want to run my setup (it's fast, I recommend it!) then
just start the server up with:
jruby -S trinidad
==== 2-MINUTE SETUP ====
Assuming you have Homebrew (https://github.com/mxcl/homebrew) on OSX
and a JRuby installation, here's how you'd quickly get GeminaboxPlus
running on localhost:
brew install redis
redis-cli hset services resque '["localhost"]'
jgem install rack -v1.3.6
jgem install jruby-rack -v1.1.1
jgem install trinidad -v1.2.3
git clone git://github.com/sam/geminaboxplus.git
cd geminaboxplus
bundle install --path vendor
QUEUE=reindex bundle exec rake resque:work &
GEMINABOX_DATA="$(pwd)/data" jruby -S trinidad
Now just copy your .gem files into $GEMINABOX_DATA/gems and run:
curl http://localhost:9292/reindex
To get all your gems loaded. The web side of the app itself isn't
the fastest if you have a lot of gems (ours takes 8s to load ~2400 gems)
but that only matters if you're hunting for a specific Gem in the list.
The gem indexes should be fast once generated so there'll be no slowing
down your workflow!