できるようになること
Apple M2 チップの MacBook で日本語対応の Overleaf をローカルで動かす
試した環境
MacBookPro (Apple M2 チップ, 13 インチ) + macOS 13.2 (22D49)
前準備でしておくべきこと
-
dockerとdocker-composeが使えるようにします -
gitやrealpathを使えるようにします - 作業したいディレクトリ(本記事内では
overleaf-local)を作りそこへ移動します
基本セットアップ
-
以下の 2 つの GitHub レポジトリを
cloneしますターミナル# pwd -> overleaf-local git clone https://github.com/overleaf/overleaf git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit※
overleaf-toolkit内でbin/doctorを実行することで前準備が整っているかどうかが分かります
※bin/doctorの結果のHost Informationのところは無視しても良さそうです -
以下のコマンドを実行します(所要時間:10 分前後)
ターミナル# pwd -> overleaf-local cd overleaf/server-ce make build-base make build-community -
以下のコマンドを実行します(所要時間:数分)
ターミナル# pwd -> overleaf-local/overleaf/server-ce cd ../../overleaf-toolkit bin/init mkdir data/sharelatex data/mongo data/redis (data/nginx) bin/up※
data/nginxは必要な人のみで大丈夫です -
ログが表示されるようになるので Google Chrome などのブラウザから
http://localhost/launchpadにアクセスしてアカウントを作成すれば使えるようになっているはずです
※ 詳細は公式ドキュメントを見てください
日本語対応
日本語自体対応していなかったり $Lua\LaTeX$ の ltjsarticle などのドキュメントクラスが使えなかったりするので以下の通りに sharelatex の Docker イメージをアップデートします
-
sharelatexの Docker コンテナに入りTexLiveを更新します(所要時間:1 時間以上)ターミナル# pwd -> [any directory] docker exec -it sharelatex bash tlmgr update --self tlmgr install scheme-full※ 基本セットアップした際に動かしていた Docker コンテナを
^control + Cなどで停止させていた場合はoverleaf-toolkit/bin/startで再起動してから実行してください -
- でコンテナに加えた変更を新しい Docker イメージとしてコミットします(所要時間:数分)
ターミナル# pwd -> [any directory] docker commit sharelatex sharelatex/sharelatex:[tag name]※ 参考 1.では
[tag name] = with-texlive-fullとしています -
起動していた Docker コンテナを停止します
ターミナル# pwd -> overleaf-local/overleaf-toolkit bin/stop -
更新した Docker イメージでも起動するように
overleaf-toolkit/bin/docker-composeの 70 行目付近を修正しますdocker-compose- local full_image_spec="$image_name:$SHARELATEX_IMAGE_VERSION" + local full_image_spec="$image_name:[tag name]" -
overleaf を再起動します
ターミナル# pwd -> overleaf-local/overleaf-toolkit bin/up -
ブラウザ上で
http://localhostにアクセスすれば日本語対応した Overleaf が使えるようになっているはずです

↑こんな感じ(余談)卒論を Overleaf で書きましたがサーバーが落ちたら怖いのでバックアップ用としても使えそうですね(自虐ネタ)
-
bin/stopとbin/startで止めたり起動したりできます
では良い $\LaTeX$ ライフを