Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Gollum is GitHub's new wiki engine written in Ruby. Deployed locally it uses a Sinatra instance to provide a web interface.

Is it possible to run it in a shared hosting environment such as Dreamhost using Apache and mod_rails (Phusion Passenger)?

share|improve this question

migrated from Sep 25 '10 at 20:41

This question came from our site for computer enthusiasts and power users.

up vote 5 down vote accepted

Create the file "", add this to it:

require "gollum/frontend/app"

Precious::App.set(:gollum_path, File.dirname(__FILE__))
Precious::App.set(:wiki_options, {})
run Precious::App
share|improve this answer

There's an excellent guide on:

The main points are:

  • add a to lib/gollum/frontend
  • Point your document root to lib/gollum/frontend/public
  • Use the following as a base, set wiki path accordingly (I had to add the bundler setup part)
require 'rubygems'
require 'bundler/setup'
require 'gollum/frontend/app'

system("which git") or raise "Looks like I can't find the git CLI in your path.\nYour path is: #{ENV['PATH']}"

gollum_path = '/path/to/wiki' # CHANGE THIS TO POINT TO YOUR OWN WIKI REPO

disable :run

configure :development, :staging, :production do
 set :raise_errors, true
 set :show_exceptions, true
 set :dump_errors, true
 set :clean_trace, true

$path = gollum_path
Precious::App.set(:gollum_path, gollum_path)
Precious::App.set(:wiki_options, {})

run Precious::App
share|improve this answer

The answer of August Lilleaas is correct, however I needed to use an older version of gollum, so I set it up with Bundler:


source ''

gem 'rdiscount'
gem 'gollum', '1.3.0'

require 'rubygems'
require 'bundler'


require "gollum/frontend/app"

Precious::App.set(:gollum_path, File.expand_path(File.dirname(__FILE__)))
Precious::App.set(:wiki_options, {})
run Precious::App

Also remember to create the directories public and tmp, as Passenger requires these.

However, I ran into another problem. You have to make sure that git is in the path of the webserver-user. For me this was not the case, and unfortunately there is no error message, you just always end up on the page to create a new page.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.