Gollum webapp on Debian 8 (Jessie) with support for HTTP and strict HTTPS (HSTS).
Shell Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Dockerfile
LICENSE
NOTICE
README.md
config.ru
entrypoint.sh

README.md

Gollum

Gollum webapp on Debian 8 (Jessie) with support for HTTP and strict HTTPS (HSTS).

Improvements

This production proven image of Gollum just got a little better.. Enjoy!

  • upgraded OS to Debian 8.5
  • upgraded Gollum to 4.0.1
  • upgraded Github Flavored Markdown to 0.6.9
  • improved this readme

Quick Start

  1. Create a Git repository for your wiki:
$ cd
$ mkdir mywiki
$ cd mywiki
$ git init

(2) Add a starter document to the repository (optional):

$ echo "Hello World!" > Home.md
$ git add Home.md
$ git commit -m 'Initial commit'

(3) Spin-up the Gollum container:

$ docker pull genebarker/gollum
$ docker run -d -p 80:80 -v ~/mywiki:/root/wiki genebarker/gollum --http

(4) Enjoy

How to Use

For usage info, just run the image without a command:

$ docker run --rm genebarker/gollum

Which produces the following:

gollum - a Gollum webapp on Debian 8 Docker Container

usage: genebarker/gollum [OPTION]

The available OPTIONs are:
   --http [GOLLUMOPTION]...       Run Gollum using plain HTTP
   --hsts FQDN [GOLLUMOPTION]...  Run Gollum using HTTPS only
          (must provide FQDN, i.e. mybox.example.com)
   --help                         Display this message

To use wiki repository on the host, mount it, i.e.:
   $ docker run -d -p 80:80 \
       -v /home/me/wiki:/root/wiki \
       genebarker/gollum --http

To run with strict HTTPS creating new self-signed keys:
   $ docker run -d -p 80:80 -p 443:443 \
       genebarker/gollum --hsts mybox.example.com

To run with strict HTTPS using your own keys, mount them, i.e.:
   $ docker run -d -p 80:80 -p 443:443 \
       -v /etc/ssl:/etc/ssl \
       genebarker/gollum --hsts mybox.example.com

   (the cert's CN must match the FQDN)

To run as a rack application, place your config file in the repo,
mount it, and set RACK_APP environment variable to its name, i.e.:
   $ docker run -d -p 80:80 \
       -v /home/me/wiki:/root/wiki \
       -e RACK_APP=config.ru \
       genebarker/gollum --http

To run using a time zone other than UTC, set the TIMEZONE environment
variable to the desired time zone (TZ), i.e.:
   $ docker run -d -p 80:80 \
       -e TIMEZONE=America/Los_Angeles \
       genebarker/gollum --http

To bypass script, just enter desired command, i.e.:
   $ docker run -it genebarker/gollum bash

Key paths in the container:
   /root/wiki     - Wiki content (a git repository)
   /etc/ssl       - SSL keys and certificates
   /etc/ssl/private/ssl-cert-snakeoil.key  - Private SSL key
   /etc/ssl/certs/ssl-cert-snakeoil.pem    - Public SSL cert

Notes

  • This image uses GitHub Flavored Markdown (GFM).
  • For a rack application, see the example config.ru, and be sure to append its required packages and gems to the respective RUN commands in the Dockerfile.
  • See the TZ Database for the available values for the $TIMEZONE environment variable.