Skip to main content
40-overleaf.yaml
A primeira inicialização executa as migrações do banco de dados e leva um ou dois minutos. O pod está pronto quando /status responde; então abra OVERLEAF_SITE_URL.

Por que o manifesto é assim

  • Volume de dados. Tudo em /var/lib/overleaf (arquivos dos projetos, histórico, uploads) fica no PVC. Com armazenamento local do nó, como o local-path, os dados ficam em um único nó; com armazenamento em bloco de rede, o pod pode se mover entre os nós.
  • Volumes de compilação e o socket do Docker. O Ayakaleaf Pro pede ao Docker do nó que inicie um contêiner do TeX Live e lhe passa o diretório de compilação do projeto pelo caminho dele no nó. Por isso, esses diretórios são volumes hostPath, e seus caminhos são repetidos em SANDBOXED_COMPILES_HOST_DIR_*. O conteúdo deles são dados temporários e não precisa de backup.
  • enableServiceLinks: false. O Kubernetes adiciona a cada pod variáveis no estilo do Docker para cada Service do namespace: o Service redis se torna REDIS_PORT=tcp://10.x.x.x:6379, o Service git-bridge se torna GIT_BRIDGE_PORT=tcp://.... Alguns serviços do Overleaf leem variáveis com esses nomes. Neste pod, as configurações de OVERLEAF_REDIS_* e do ConfigMap prevalecem, mas o git-bridge usa GIT_BRIDGE_PORT como sua porta e para (veja Integração com Git). Desativar os links mantém o ambiente restrito ao que você definiu.
  • Recreate. Dois pods nunca devem usar o mesmo volume de dados nem executar migrações ao mesmo tempo.
  • Expondo o serviço. O Service NodePort responde na porta 30080 de cada nó. Em produção, coloque seu ingress controller ou balanceador de carga à frente e termine o TLS ali; ele precisa permitir WebSockets, tempos limite de requisição de 10 minutos (compilações longas) e uploads de 50 MB, e repassar X-Forwarded-For e X-Forwarded-Proto.
Última modificação em 2 de novembro de 2026