Skip to main content
40-overleaf.yaml
初回の起動ではデータベースのマイグレーションが実行され、1〜2 分かかります。/status が応答すれば Pod の準備は完了です。その後 OVERLEAF_SITE_URL を開いてください。

マニフェストがこのような構成になっている理由

  • データボリューム。 /var/lib/overleaf 以下のすべて(プロジェクトファイル、履歴、アップロード)は PVC に保存されます。local-path のようなノードローカルのストレージでは、データは 1 つのノードにとどまります。ネットワークブロックストレージであれば、Pod はノード間を移動できます。
  • コンパイル用ボリュームと Docker ソケット。 Ayakaleaf Pro はノードの Docker に TeX Live コンテナの起動を要求し、プロジェクトのコンパイルディレクトリをノード上のパスで渡します。そのため、これらのディレクトリは hostPath ボリュームとし、そのパスを SANDBOXED_COMPILES_HOST_DIR_* にも記述します。内容は一時的なデータであり、バックアップは不要です。
  • enableServiceLinks: false。 Kubernetes は、Namespace 内のすべての Service について Docker 形式の変数を各 Pod に追加します。Service redis は REDIS_PORT=tcp://10.x.x.x:6379 に、Service git-bridge は GIT_BRIDGE_PORT=tcp://... になります。一部の Overleaf サービスはこれらの名前の変数を読み取ります。この Pod では OVERLEAF_REDIS_* と ConfigMap の設定が優先されますが、git-bridge は GIT_BRIDGE_PORT をポートとして解釈して停止してしまいます(Git 連携を参照)。リンクを無効にすることで、環境を自分で設定したものだけに保てます。
  • Recreate。 2 つの Pod が同じデータボリュームを使用したり、同時にマイグレーションを実行したりしてはなりません。
  • 公開方法。 NodePort Service はすべてのノードのポート 30080 で応答します。本番環境では、前段に Ingress コントローラーまたはロードバランサーを置いてそこで TLS を終端してください。WebSocket、10 分間のリクエストタイムアウト(長時間のコンパイル)、50 MB のアップロードを許可し、X-Forwarded-For と X-Forwarded-Proto を渡す必要があります。
最終更新日 2026年11月2日