12

Gollum is "A simple, Git-powered wiki with a sweet API and local frontend."

It's hosted on GitHub: http://github.com/github/gollum

It seems to be a simple Sinatra app, and as such, it seems like it should be easy to deploy to Heroku. I can't seem to get it to work. Mostly because I know next to nothing about Rake and config.ru files.

Is it even possible to deploy a Gollum wiki to Heroku? If so, what would my config.ru file need to look like?

Update/Edit

lib/gollum/frontend/app:

module Precious
  class App < Sinatra::Base

This gets called from bin/gollum

require 'gollum/frontend/app'
Precious::App.set(:gollum_path, gollum_path)
Precious::App.run!(options)
irkenInvader
  • 1,396
  • 1
  • 11
  • 17

3 Answers3

12

It's not possible to run Gollum from heroku. Certainly not as an editable wiki. The Heroku filesystem is read only. You might be able to use it to serve static content, but I'm not sure about that even.

namelessjon
  • 907
  • 5
  • 8
3

As already mentioned, the problem is that the heroku filesystem is readonly. But the real problem is underlying grit, which relies on the git command line tool. You can't work with remote repositories without cloning them to the local directory.

See the related question.

So, the solution will be to clone the repo to temporary path, work there and push changes to the remote repo. There is a much overhead: you need to clone repo every time a user browse a wiki page.

Another solution that comes to mind is making some API for grit that will enable to work with git remotely.

Yet another solution is to work with git over ssh.

Community
  • 1
  • 1
Vanuan
  • 31,770
  • 10
  • 98
  • 102
  • Just came across this while looking for a way to mount a wiki within a Rails app. Are these limitations still true? – woodardj Mar 11 '16 at 18:25
  • @woodardj 5 years is like a century to the web. If you're asking in the context of Heroku, Docker is much modern solution, and with persistent volumes you shouldn't have this issue at all. – Vanuan Mar 12 '16 at 00:20
-4

http://docs.heroku.com/rack#sinatra

require 'hello'
run Sinatra::Application

if it is a sinatra app, that should do it for you.

Derick Bailey
  • 72,004
  • 22
  • 206
  • 219
  • 2
    Unfortunately, it's not a sinatra app in that fashion. I updated the original question with some additional details. – irkenInvader Oct 29 '10 at 20:56