Git Product home page Git Product logo

gollum's Introduction

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.

gollum's People

Contributors

genebarker avatar cardoe avatar

Watchers

jej avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.