overleaf の docker on wsl 環境を作った

overleafを使ったこともないくせに、dockerたてた。

動機

texは思いついたらいきなり環境構築してたが、最近は混乱しててあんま手を出したくなかった。その中、overleafがいいというツイートをみかけたので、環境構築してみた。

参考サイト

triadsou.hatenablog.com qiita.com

環境

WIndows 10 Pro 21H2

前提

  • wslインストール
  • dockerインストール

構築

$ git clone https://github.com/overleaf/overleaf.git
$ cd overleaf
$ docker-compose up -d
$ docker ps
cba08460d191   sharelatex/sharelatex   "/sbin/my_init"          36 seconds ago   Up 24 seconds             0.0.0.0:80->80/tcp   sharelatex
2a6b3fb16ac2   mongo:4.0               "docker-entrypoint.s…"   38 seconds ago   Up 35 seconds (healthy)   27017/tcp            mongo
04a51207f141   redis:5                 "docker-entrypoint.s…"   38 seconds ago   Up 35 seconds             6379/tcp             redis$ docker exec -it 7cbf39b5f9f4 bash
$ docker exec -it cba08460d191 bash
root@7cbf39b5f9f4:/# tlmgr update --self
root@7cbf39b5f9f4:/# tlmgr install scheme-full
root@7cbf39b5f9f4:/# exit
$ sudo docker commit -m "installing all latex packages" cba08460d191 sharelatex/sharelatex:v1
$ docker-compose down

ここまでで、texインストールしたイメージを保存。docker-compose.ymlのイメージファイル名を保存したイメージに変更。最後に、adminユーザを作成。

$ docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email=$email"

これで終わり。楽になったな。仮想環境便利すぎる。

  • 「tlmgr install scheme-full」が4k個くらいコンポーネントをインストールするのに結構時間がかかるので注意。
  • adminユーザ作成で標準出力されるパスワードリセットURLはメモっとこう。

余談

最近はZennとか使うのが楽なんだろうな。まぁでも、手元にいつでも再現可能な環境があるのはうれしいからな。