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