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