magnusviri

Gollum Wiki

What is Gollum?

Gollum is a simple wiki system written in Ruby that stores everything in a git repo. It was originally written by and for GitHub for their wiki system but they have diverged. Gollum now "strives" to be compatible with GitHub wikis. There are other similar wiki projects. I don't remember why, but I picked Gollum over them.

The built-in web interface allows you to edit pages and preview the edits before saving. It also allows you to browse the history, compare, and revert versions. You can also edit the git repo using any text editor, but you have to git add and git commit yourself.

Gollum features:

Running Gollum

Gollum can be run many ways, but I prefer Docker. If you have Docker installed, this command will install and run Gollum.

docker run --rm -p 4567:4567 -v $(pwd):/wiki gollumwiki/gollum:master

It can then be accessed in a web browser by going to http://localhost:4567.

Running Gollum means running a webserver. Gollum does not include any authorization or authentication. This means that anyone can connect to your computer to edit your wiki! To avoid this, I use the Murus Lite firewall and I just firewall the port.

There are also many 3rd party docker images for Gollum, at least one has basic auth support.

Why I got interested in Gollum

I've used macOS Notes for a long time. It didn't do everything I wanted. As I used it I came up with a feature wish list.

A few times I've tried to find an app that meets all of these criteria. Here's what I found.

Notes app

Joplin app

Text files, text editors, and Dropbox

Gollum

Contributing

Because it's a github repo, I was able to contribute by adding some code that gets the git username and uses that instead of making all edits Anonymous.

There's a few features I'd like to add to Gollum. I'd like cmd-s to force a commit message before saving. And I'd like esc to cancel editing. I've also added a feature request for a .gollumignore file.

Wrap-up

I've been moving all of my notes to Gollum and haven't had any issues and only like it more and more. I have 2 Gollum servers running on my laptop (I used docker-compose to auto run them after a restart). One is a shared work wiki that I sync with GitLab and the other is for my personal work notes that I keep in Dropbox.

I actually ran Gollum with my Jekyll website as the wiki root and it actually worked. I may end up using Gollum to edit the Markdown source for my Jekyll website. Intersting times.

Published: 2022-03-13, last edited: 2022-03-13

Copyright 2020 James Reynolds