gollum is a free, open source documentation & knowledge base project written in Ruby and released under MIT. It has 14,327 GitHub stars, 1,560 forks and 91 open issues, and was last pushed 10 months ago. On this registry it ranks #12 of 40 tracked projects in Documentation & Knowledge Base, with 5 head-to-head comparisons available.

What is gollum?

What it is

Gollum is a simple wiki system built on top of Git. A Gollum wiki is simply a Git repository of a specific nature: its contents are human-editable text or markup files, pages may be organized into directories in any way the author chooses, and other content such as images, PDFs, and headers or footers for pages can also be included. Pages may be written in a variety of markups, edited either with a favourite editor (changes become visible after committing) or through the built-in web interface, and displayed in all versions or reverted. The project lives in the Ruby ecosystem, is distributed under the MIT license, and has been developed for roughly sixteen years, with the last push recorded on 24 November 2025.

The concrete problem it solves is documentation that drifts away from version control. Because every page is a file in a Git repository, page history, branching, and reverting are handled by Git rather than by a proprietary wiki store. Gollum also strives to be compatible with GitHub and GitLab wikis, so an existing GitHub or GitLab wiki can be cloned and then viewed and edited locally. Topics attached to the repository are documentation, documentation-tool, gollum, jruby-support, markdown, ruby, and wiki.

Key capabilities

  • Renders pages written in a variety of markup languages, including several Markdown flavors.
  • Provides a built-in web interface for editing, while still allowing edits through a favourite editor once committed.
  • Displays pages in all versions and supports reverting them.
  • Generates diagrams using Mermaid or PlantUML.
  • Adds BibTeX and citation support, and annotations using CriticMarkup.
  • Renders mathematics through KaTeX or MathJax.
  • Supports macros, redirects, and an RSS feed of latest changes.

Who uses it and how

  • Teams that keep documentation as files in a Git repository and want a browser frontend over that repository.
  • Users of GitHub or GitLab wikis who clone the wiki and view and edit it locally.
  • Authors who organize pages into directories and attach supporting content such as images, PDFs, and headers or footers.
  • Projects that need diagrams, citations, annotations, or mathematics inside wiki pages without a separate rendering pipeline.

Getting started

The README lists installation as a Ruby gem, via Docker using the gollumwiki/gollum image, or as a Web Application Resource for Java; Gollum can also be run from source, with Rack, with an authentication server, or as a service, using command-line options or a config file.

When to use it — and when not to

No paid products are named in the supplied facts, so no direct comparison can be made. A self-hoster operates the Git repository that holds the wiki content, and authentication is handled by running Gollum with an authentication server rather than by an integrated account system. On Windows, Gollum runs only under JRuby, either from source or from the prebuilt Web Application Resource, which constrains deployment there

project readme (upstream, from github) — read inline

gollum - A git-based Wiki

Gem Version Build Status Open Source Helpers Cutting Edge Dependency Status Docker Pulls License GitHub Contributors

Gollum is a simple wiki system built on top of Git. A Gollum Wiki is simply a git repository of a specific nature:

  • A Gollum repository's contents are human-editable text or markup files.
  • Pages may be organized into directories any way you choose.
  • Other content can also be included, for example images, PDFs and headers/footers for your pages.
  • Gollum pages:
    • May be written in a variety of markups.
    • Can be edited with your favourite editor (changes will be visible after committing) or with the built-in web interface.
    • Can be displayed in all versions, reverted, etc.
  • Gollum strives to be compatible with GitHub and GitLab wikis.
    • Just clone your GitHub/GitLab wiki and view and edit it locally!
  • Gollum supports advanced functionality like:

See the wiki for extensive documentation, along with screenshots of Gollum's features.


Table of Contents


System Requirements

Gollum runs both on Unix-like systems and on Windows.

Gollum runs either using 'normal' Ruby (MRI) or JRuby (Ruby on the Java Virtual Machine). On Windows, Gollum runs only using JRuby (either from source, or prebuilt).

On MRI, Gollum uses the rugged git library, while on JRuby/Java it utilizes the rjgit and JGit libraries. See here for more info.

Installation

As a Ruby Gem

Ruby is best installed either via RVM or a package manager of choice. Then simply:

gem install gollum

Installation examples for individual systems can be seen here.

Via Docker

See here for instructions on how to run Gollum via Docker.

As a Web Application Resource (Java)

The latest Release of Gollum will always contain a downloadable gollum.war file that can be directly executed on any system with a working Java installation:

java -jar gollum.war -S gollum <your-gollum-arguments-here>

When using the .war, please be sure to pass absolute paths to your Gollum arguments.

Markups

Gollum allows using different markup languages on different wiki pages. It presently ships with support for the following markups:

You can easily activate support for other markups by installing additional renderers (any that are supported by github-markup):

  • AsciiDoc -- gem install asciidoctor
  • Creole -- gem install creole
  • MediaWiki -- gem install wikicloth
  • Org -- gem install org-ruby
  • Pod -- requires Perl >= 5.10 (the perl command must be available on your command line)
    • Lower versions should install Pod::Simple from CPAN.
  • ReStructuredText -- requires python >= 3
    • Note that Gollum will also need you to install docutils for python
  • Textile -- gem install RedCloth

Markdown Flavors

By default, Gollum ships with the kramdown gem to render Markdown. However, you can use any Markdown renderer supported by github-markup. This includes CommonMark support via the commonmarker gem. The first installed renderer from the list will be used (e.g., redcarpet will NOT be used if github/markdown is installed). Just gem install the renderer of your choice.

See here for instructions on how to use custom rendering gems and set custom options.

Running Gollum

Quick Start from Command Line

  1. Run: gollum /path/to/wiki where /path/to/wiki is an initialized Git repository.
  2. Open http://localhost:4567 in your browser.

Running From Source

  1. git clone https://github.com/gollum/gollum
  2. cd gollum
  3. bundle install (may require sudo depending on your Ruby setup)
  4. bundle exec bin/gollum
  5. Open http://localhost:4567 in your browser.

Running with Rack

Gollum can also be run with any rack-compatible web server. More on that over here.

Running with an Authentication Server

Gollum can also be run alongside a CAS (Central Authentication Service) SSO (single sign-on) server. With a bit of tweaking, this adds basic user-support to Gollum. To see an example and an explanation, navigate over here.

Running as a Service

Gollum can also be run as a service. More on that over here.

Environment

Gollum uses the environment variable APP_ENV primarily to control how the underlying Sinatra app behaves:

  • development – reload the app on every request
  • production – load the app only once

Configuration

Gollum comes with the command line options listed below. Note that there are some additional 'minor' options to tweak Gollum's behaviour that do not have commandline options, but can be configured in config.rb.

Command-Line Options

| Option | Arguments | Description

readme truncated — read the full docs on github

Frequently asked questions

Is gollum free to use?

gollum is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does gollum do?

A simple, Git-powered wiki with a local frontend and support for many kinds of markup and content.

What is gollum written in?

gollum is primarily written in Ruby. Its source is publicly available at https://github.com/gollum/gollum, and it has 14,327 GitHub stars.