> ## 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.

# Šablony

> Provozujte galerii šablon v nasazení na Kubernetes.

Galerie šablon běží ve službě **web** (modul `template-gallery`) každého podu Ayakaleaf Pro; služba **filestore** ve stejném podu ukládá soubory šablon a vykresluje jejich náhledy. Kategorie, oprávnění a publikování jsou popsány v části [Šablony](https://ayakaleaf-pro.mintlify.site/cs/on-premises/configuration/overleaf-toolkit/templates.md).

| | |
| - | - |
| Služby | web (modul `template-gallery`), filestore (soubory a náhledové obrázky) |
| Uložená data | metadata šablon v MongoDB; ZIP, PDF a náhledové obrázky v úložišti šablon služby filestore: `/var/lib/overleaf/data/template_files` na datovém svazku nebo bucket S3 `OVERLEAF_FILESTORE_TEMPLATE_FILES_BUCKET_NAME` |
| Pod → venku | žádné (S3, pokud se používá) |
| Periodické úlohy | žádné: náhledy se vykreslí při prvním zobrazení |

### Konfigurace

**1. ConfigMap**

```yaml title="30-config.yaml (additions)" wrap theme={null}
  OVERLEAF_TEMPLATE_GALLERY: "true"
  ENABLE_CONVERSIONS: "true"
  OVERLEAF_TEMPLATE_CATEGORIES: academic-journal book presentation poster cv report thesis
  TEMPLATE_ACADEMIC_JOURNAL_NAME: Journal articles
  TEMPLATE_ACADEMIC_JOURNAL_DESCRIPTION: Templates for academic journal submissions.
  # ... one _NAME and _DESCRIPTION per category, see the Toolkit page
```

**2. Uživatel pro šablony (volitelné)**

Administrátoři mohou publikovat vždy. Chcete-li správu galerie umožnit uživateli, který není administrátor, vytvořte tohoto uživatele, zjistěte jeho ID z MongoDB a vložte je do ConfigMapu:

```bash wrap theme={null}
kubectl -n overleaf exec mongo-0 -- mongosh --quiet \
  'mongodb://mongo-0.mongo:27017,mongo-1.mongo:27017,mongo-2.mongo:27017/sharelatex?replicaSet=overleaf' \
  --eval 'db.users.findOne({ email: "templates@example.com" })._id.toString()'
```

```yaml theme={null}
  OVERLEAF_TEMPLATES_USER_ID: "<the ID printed above>"
```

**3. Použití a restart**

```bash theme={null}
kubectl apply -f 30-config.yaml
kubectl -n overleaf rollout restart deployment/overleaf     # or statefulset/overleaf
```

### Více replik

* Soubory šablon musí být v S3: se soubory na vlastním disku každé repliky by každý uzel zobrazoval jinou galerii. Nastavení z [horizontálního škálování](https://ayakaleaf-pro.mintlify.site/cs/on-premises/configuration/kubernetes/horizontal-scaling.md) již používá bucket `overleaf-template-files`.
* Publikování přebírá PDF z poslední kompilace projektu, které existuje pouze na replice, jež jej zkompilovala. Sticky cookie load balanceru drží uživatele na této replice, proto publikujte ze stejné relace prohlížeče, ve které jste kompilovali.

### Testováno na Kubernetes

Na Kubernetes 1.37 se třemi replikami za HAProxy a se soubory šablon v bucketu S3 `overleaf-template-files` (Garage) procházejí naše end-to-end testy galerie šablon (41 případů): publikování zkompilovaného projektu z nabídky Soubor a PDF, náhledové obrázky a ZIP se zdrojovými soubory poskytované z bucketu; vytváření projektů ze šablony; kategorie, vyhledávání, řazení a stránky galerie; úpravy, přepisování a mazání šablon; oprávnění administrátorů, běžných uživatelů a uživatele pro šablony z `OVERLEAF_TEMPLATES_USER_ID` (jeho ID zjištěné z MongoDB podle výše uvedeného popisu); a chybně formované požadavky.


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