2018年1月18日木曜日

Dockerでmoinmoinがインストールされたコンテナ(Debian Stretch/9.3)を構築する

moinmoinはPython製のWikiソフトです。
以下の手順で、moinmoinのコンテナを構築・実行します。

○構築方法
1. moinmoinイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t moinmoin .

Dockerfile
FROM debian:9.3
WORKDIR /
RUN apt-get update \
  && apt-get -y install apache2 libapache2-mod-wsgi wget \
  && rm -rf /var/lib/apt/lists/* \
  && wget http://static.moinmo.in/files/moin-1.9.9.tar.gz \
  && tar xvfz moin-1.9.9.tar.gz \
  && rm -f moin-1.9.9.tar.gz
WORKDIR /moin-1.9.9
RUN python setup.py install --force --prefix /usr/local --record=install.log \
  && cp /usr/local/share/moin/server/moin.wsgi /usr/local/share/moin \
  && cp /usr/local/share/moin/config/wikiconfig.py /usr/local/share/moin \
  && echo ' \n\
  ServerName localhost \n\
  WSGIDaemonProcess moin processes=1 threads=25 \n\
  WSGIScriptAlias / /usr/local/share/moin/moin.wsgi \n\
   \n\
    WSGIProcessGroup moin \n\
    WSGIApplicationGroup %{GLOBAL} \n\
    Require all granted \n\
   \n\
' >> /etc/apache2/sites-available/moinmoin.conf \
  && sed -i -e "s|#sys.path.insert(0, 'PREFIX/lib/python2.7/site-packages')|sys.path.insert(0, '/usr/local/lib/python2.7/site-packages')|" /usr/local/share/moin/moin.wsgi \
  && sed -i -e "s|#sys.path.insert(0, '/path/to/farmconfigdir')|sys.path.insert(0, '/usr/local/share/moin')|" /usr/local/share/moin/moin.wsgi \
  && echo '    page_front_page = u"FrontPage"\n\
    superuser = [u"wikiadmin", ]' >> /usr/local/share/moin/wikiconfig.py \
  && chown -R www-data:www-data /usr/local/share/moin \
  && chmod -R ug+rwX /usr/local/share/moin \
  && chmod -R o-rwx /usr/local/share/moin \
  && a2ensite moinmoin.conf \
  && a2dissite 000-default.conf
EXPOSE 80
VOLUME /usr/local/share/moin
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]

2. moinmoinコンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d

docker-compose.yml
version: "2"
services:
  moinmoin:
    image: moinmoin
    container_name: "moinmoin"
    volumes:
      - "moinmoin-data:/usr/local/share/moin"
    ports:
      - "80:80"
volumes:
  moinmoin-data:
    driver: local

3. ブラウザからhttp://<Dockerホストの名またはIP>/にアクセス

○その他
・moinmoinコンテナの停止・削除(docker-compose.ymlがあるフォルダで実行)
docker-compose down

・永続化ボリュームの削除
docker volume rm moinmoin_moinmoin-data

〇moinmoinの画面



○関連情報
・moinmoinに関する他の記事はこちらを参照してください。

Zimというデスクトップアプリケーションで自分だけのWikiを作成することもできます。

0 件のコメント:

コメントを投稿