Ubuntu20.04上で構築した。

dockerのインストール

$ sudo snap install docker

gollumの構築

Gollum via Docker · gollum/gollum Wiki

$ mkdir ~/gollum
$ cd gollum

Dockerfile(Wikiの通り)

$ nano Dockerfile
FROM ruby
RUN apt-get -y update && apt-get -y install libicu-dev cmake && rm -rf /var/lib/apt/lists/*
RUN gem install github-linguist
RUN gem install gollum
RUN gem install org-ruby  # optional
WORKDIR /wiki
ENTRYPOINT ["gollum", "--port", "80"]
EXPOSE 80
ビルドする
$ docker build -t gollum .
HTTPS対応のため、https-portalイメージを利用する。SteveLTN/https-portal: A fully automated HTTPS server powered by Nginx, Let's Encrypt and Docker.
編集不可モードのgollumと、BASIC認証のかかった編集可のgollumをそれぞれ別ドメインで動かす感じ。共に同じgitレポジトリを参照する。
$ nano docker-compose.yml
version: "2"

volumes:
  gollum-data:
    driver: local
    driver_opts:
      type: none
      device: $PWD/gollum-page
      o: bind

services:
  gollum-viewer:
    image: gollum
    volumes:
      - gollum-data:/wiki
    entrypoint: ["gollum", "-p", "80", "--no-edit"]

  gollum-editor:
    image: gollum
    volumes:
      - gollum-data:/wiki

  https-portal:
    image: steveltn/https-portal:1
    ports:
      - '80:80'
      - '443:443'
    links:
      - gollum-viewer
    restart: always
    environment:
      DOMAINS: 'wiki.example.com -> http://gollum-viewer:80, [管理ユーザー名]:[パスワード]@admin.wiki.example.com -> http://gollum-editor:80'      
      STAGE: 'production'
起動する
$ sudo docker-compose up