前置き
- 追記: 内容更新 gollum version5対応
- mediawikiフォーマットで書くのに必要なwikiclothがinstallされたGollumのDockerfileが欲しい
- 探してみる
- 案外存在しないっぽい
- https://hub.docker.com/r/blackglory/rugged-gollum/~/dockerfile/
- 自分の環境が悪いせいなのか,検索ができないバグが存在した.
- https://github.com/zachlatta/gollum-docker/blob/master/Dockerfile
- コンパイルが通らなかった
- これをbaseに書いてみた
出来たもの
- 自分でDockerfileを書いた
- https://github.com/scepter914/gollum_filesにアップロードした
- ついでにconfig.rbとcustom.cssとかもここにアップロードした
FROM ruby:2.3.1-alpine
RUN \
# Refresh package list
apk update \
# Install build dependencies
&& apk add --no-cache --virtual build-deps \
# Equivalent of Debian's build-essential
alpine-sdk \
# Install actual dependencies
&& apk add --no-cache git icu-dev libidn-dev ruby-dev\
# add package for wikicloth
&& gem install idn-ruby\
# version
&& gem install twitter-text -v "1.14.7"\
# Install Gollum and associated packages
&& gem install gollum github-markdown asciidoctor creole org-ruby RedCloth\
# Install wikicloth
&& gem install wikicloth \
# Clean up build dependencies
&& apk del build-deps
# Create volume at /wiki
VOLUME /wiki
WORKDIR /wiki
# Expose default gollum port 4567
ENTRYPOINT ["/usr/local/bundle/bin/gollum", "/wiki", "--port", "4567"]
EXPOSE 4567
苦労した点
- buildが通らなかった
ERROR: Error installing wikicloth:
ERROR: Failed to build gem native extension.
-
wikiclothのinstallにはidn-rubyが必要で,installしたらbuildが通った
-
.mediawikiで書かれたファイルが"uninitialized constant Twitter::Autolink"としてしか表示されない
- https://github.com/gollum/gollum/issues/1273 に同じ問題が
- twitter-textのversionを指定すると直った
最後に
https://github.com/zachlatta/gollum-docker/blob/master/Dockerfileで, zachlatta/gollum-dockerにDockerhubないなって思って自分でbulidしたのに, Readme読んだら思いっきり"docker pull zachlatta/gollum"って書いてあるやんっていう…
日曜一日無駄にしてしまった…