sharelatexでjarticleをつかえるようにする その2

はじめに

前回の記事からバージョン上がったりしてそのままじゃいけなかったので改めて検証してDockerfileを書いた
LDAPやアカウント管理機能がPro版でしか対応されてないみたいなので利用するか迷うところ
アカウントを作成するだけならadminのアカウントで/admin/registerから作成できます
ただ作成したアカウントの一覧は見れません 不便
DBを直に見に行けば見えるでしょうけど…

環境

  • Docker version 17.03.1-ce
  • Docker-compose version 1.12.0
  • sharelatex/sharelatex:0.6.1

ディレクトリツリー

data以下に各コンテナをマウントさせる

1.
2├─ data
3├─ docker-compose.yml
4└─ sharelatex
5       ├─ Dockerfile
6       └─ jlisting.sty

Dockerfile

platexが使えるようにするのとソースコードを貼る際に困るのでjlistingを導入する

 1FROM sharelatex/sharelatex:0.6.1
 2
 3# platex install
 4RUN apt-get update \
 5  && apt-get install texlive-lang-cjk -y \
 6  && apt-get clean \
 7  && apt-get autoremove
 8
 9# latexmk
10RUN cd /usr/local/texlive/2016/bin/x86_64-linux/ \
11  && sed -ri "s/$latex  = 'latex %O %S';/$latex  = 'platex -shell-escape %O %S';/g" latexmk \
12  && sed -ri "s/$bibtex  = 'bibtex %O %B';/$bibtex  = 'pbibtex %O %B';/g" latexmk \
13  && sed -ri "s/$dvipdf  = 'dvipdf %O %S %D';/$dvipdf  = 'dvipdfmx %O -o %D %S';/g" latexmk
14
15# jlisting
16ADD jlisting.sty /usr/share/texlive/texmf-dist/tex/latex/listings/jlisting.sty
17RUN mktexlsr

docker-compose.xml

先程のDockerfileをビルド元に指定する

 1version: '2'
 2
 3services:
 4    sharelatex:
 5        build: "./sharelatex"
 6        restart: always
 7        container_name: sharelatex
 8
 9        depends_on:
10            - mongo
11            - redis
12        privileged: true
13        ports:
14            - 8888:80
15        links:
16            - mongo
17            - redis
18        volumes:
19            - $PWD/data/sharelatex:/var/lib/sharelatex
20        environment:
21            SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
22            SHARELATEX_REDIS_HOST: redis
23            SHARELATEX_APP_NAME: Our ShareLaTeX
24
25    mongo:
26        restart: always
27        image: mongo
28        container_name: mongo
29        expose:
30            - 27017
31        volumes:
32            - $PWD/data/mongo:/data/db
33
34    redis:
35        restart: always
36        image: redis
37        container_name: redis
38        expose:
39            - 6379
40        volumes:
41            - $PWD/data/redis:/data

jlisting.sty

https://osdn.net/projects/mytexpert/downloads/26068/jlisting.sty.bz2/
からダウンロードして解凍したものを配置しておく

起動

--buildオプションを付けておくとDockerfileに変更を加えた時にリビルドしてくれる

1$ docker-compose up -d --build

アカウント登録

ドキュメント通り

1$ docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email hoge@fuga.com"
2      パスワード設定URL

表示されたURLにアクセスしてアカウントを作成する

停止

1$ docker-compose down