> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Kubernetes

> Konfiguracja wdrożenia Kubernetes - gdzie trafiają ustawienia, sekrety i pliki oraz osobna strona dla każdej funkcji.

Wdrożenie Kubernetes odczytuje te same zmienne środowiskowe co Toolkit. Tam, gdzie strona Toolkit mówi „dodaj to do `config/variables.env`”, umieść wartość w ConfigMap `overleaf-env` lub — jeśli jest to hasło, klucz lub token — w Secret `overleaf-secrets`. Następnie zrestartuj:

```bash theme={null}
kubectl -n overleaf apply -f 30-config.yaml        # after editing the ConfigMap
kubectl -n overleaf patch secret overleaf-secrets --type merge \
  -p '{"stringData":{"GITHUB_TOKEN_CIPHER_PASSWORD":"'"$(openssl rand -hex 32)"'"}}'
kubectl -n overleaf rollout restart deployment/overleaf
```

Wartości w `config/overleaf.rc` to ustawienia Toolkit, a nie zmienne środowiskowe; sekcja Pytania i odpowiedzi na końcu tej strony wyjaśnia, co je zastępuje.

### Funkcje

Każda funkcja konfiguracji Toolkit ma tutaj swoją stronę z jej usługami, ustawieniami, ścieżkami sieciowymi, zadaniami w tle, tym, co zmienia się przy kilku replikach, oraz opisem sposobu testowania:

| Funkcja | Usługi w podzie | Poza ConfigMap i Secret |
| - | - | - |
| [Uwierzytelnianie](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/authentication): [OIDC](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/authentication/oidc-authentication.md), [SAML](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/authentication/saml-authentication.md), [LDAP](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/authentication/ldap-authentication.md), [Dostęp publiczny](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/authentication/public-access.md), [reCAPTCHA](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/authentication/recaptcha.md), [Ograniczenia haseł](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/authentication/password-restrictions.md) | web | sekrety klientów, certyfikat IdP, CA serwera LDAP |
| [Sandboxed Compiles](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/sandboxed-compiles.md) | clsi | Docker Engine i obrazy TeX Live na każdym węźle |
| [Import i eksport za pomocą Pandoc](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/pandoc-import-and-export.md) | clsi, web | obraz Pandoc w Dockerze na każdym węźle |
| [Integracja z Git](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/git-integration.md) | git-bridge (własny pod), web, history-v1 | StatefulSet git-bridge i dwa obiekty Service |
| Synchronizacja z [GitHub](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/github-synchronisation.md), [GitLab](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/gitlab-synchronisation.md), [Gitea](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/gitea-synchronisation.md) | web | Integracja z Git |
| [Synchronizacja z Dropbox](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/dropbox-synchronisation.md) | web, third-party-datastore, document-updater | Integracja z Git, webhook osiągalny z internetu, indeksy bazy danych |
| Integracja z [Zotero](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/zotero-integration.md), [Mendeley](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/mendeley-integration.md) | web | hasło szyfrujące w Secret |
| [Serwer MCP](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/mcp-server.md) | web | Integracja z Git |
| [Integracja AI](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/ai-integration.md) | web, linked-url-proxy | – |
| [Overleaf Import API](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) | web, linked-url-proxy | – |
| [Szablony](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/templates.md) | web, filestore | S3 przy kilku replikach |
| [Zewnętrzny URL](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/external-url.md) | linked-url-proxy | publiczne adresy węzłów w `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` |
| [Logowanie](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/logging.md) | każda usługa | wolumen w `/var/log/overleaf` do przechowywania logów |
| [Proxy TLS](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/tls-proxy.md) | Twój ingress lub load balancer | TLS kończy się przed podami |
| [Branding](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/branding.md) | web | – |
| [Lokalizacja](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/localization.md) | web | jedna nazwa hosta na język |
| [Wysyłanie wiadomości e-mail](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/email-delivery.md) | web | – |
| [Redis](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/redis.md) | każda usługa ze stanem na żywo | – |
| [S3](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/s3.md) | history-v1, filestore | usługa S3, wymagana przy kilku replikach |
| [Dodawanie pomocy LaTeX dla użytkowników](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/adding-latex-user-help.md) | web | pody muszą mieć dostęp do wiki |
| [Skalowanie poziome](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/horizontal-scaling.md) | wszystkie | S3, load balancer z sesjami sticky |

### Certyfikaty i inne pliki

Niektóre funkcje przyjmują ścieżkę do pliku zamiast wartości: certyfikaty SAML (`OVERLEAF_SAML_IDP_CERT`, ...), CA serwera LDAP (`OVERLEAF_LDAP_TLS_OPTS_CA_PATH`) lub prywatne CA dla samodzielnie hostowanego GitHub Enterprise, GitLab lub Gitea (`NODE_EXTRA_CA_CERTS`). Umieść pliki w Secret i zamontuj go tam, gdzie oczekują ich strony Toolkit, czyli w `/var/lib/overleaf/certs`:

```bash theme={null}
kubectl -n overleaf create secret generic overleaf-certs --from-file=idp_cert.pem --from-file=ca.pem
```

```yaml title="40-overleaf.yaml (additions)" theme={null}
          volumeMounts:
            # ...
            - name: certs
              mountPath: /var/lib/overleaf/certs
              readOnly: true
      volumes:
        # ...
        - name: certs
          secret:
            secretName: overleaf-certs
```

Następnie odwołaj się do nich przez ścieżkę w ConfigMap, na przykład `NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem`, i zrestartuj.

> [!WARNING]
>
> **Hasła szyfrujące.** Ustaw w Secret każde `*_CIPHER_PASSWORD` używanych funkcji. W przeciwnym razie niektóre funkcje przy pierwszym użyciu generują plik klucza na wolumenie danych: przy jednej replice działa to do czasu utraty wolumenu, a przy kilku replikach każda replika szyfrowałaby innym kluczem.

### Pytania i odpowiedzi

> [accordion] Których ustawień Toolkit z `config/overleaf.rc` potrzebuję?
>
> **Odpowiedź:** Ayakaleaf Pro nie odczytuje żadnego z nich. Ich odpowiedniki w Kubernetes:
>
> | `config/overleaf.rc` | Kubernetes |
> | - | - |
> | `OVERLEAF_LISTEN_IP`, `OVERLEAF_PORT` | Service (NodePort) lub Twój ingress |
> | `SIBLING_CONTAINERS_ENABLED` | `SANDBOXED_COMPILES*` w ConfigMap, gniazdo Dockera w podzie |
> | `GIT_BRIDGE_ENABLED` | [Integracja z Git](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/git-integration.md) |
> | `MONGO_ENABLED`, `REDIS_ENABLED`, `MONGO_URL`, `REDIS_HOST` | obiekty StatefulSet lub Twoje usługi zarządzane, `OVERLEAF_MONGO_URL` i `OVERLEAF_REDIS_HOST` |
> | `REDIS_AOF_PERSISTENCE` | `--appendonly yes` w `20-redis.yaml` |
> | `NGINX_ENABLED`, `TLS_*` | Twój ingress lub load balancer |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.