<a id="install"></a>

# Pokyny na konfiguráciu

## Inštalácia Weblate

V závislosti od vášho nastavenia a skúseností si vyberte vhodnú metódu inštalácie:

* [Inštalácia pomocou Dockeru](https://docs.weblate.org/sk/latest/admin/install/docker.md), odporúčané pre produkčné nastavenia.
* Inštalácia Virtualenv, odporúčaná pre produkčné nastavenia:
  * [Inštalácia na Debian a Ubuntu](https://docs.weblate.org/sk/latest/admin/install/venv-debian.md)
  * [Inštalácia na SUSE a openSUSE](https://docs.weblate.org/sk/latest/admin/install/venv-suse.md)
  * [Inštalácia na RedHat, Fedora a CentOS](https://docs.weblate.org/sk/latest/admin/install/venv-redhat.md)
  * [Inštalácia na macOS](https://docs.weblate.org/sk/latest/admin/install/venv-macos.md)
* [Inštalácia zo zdrojových kódov](https://docs.weblate.org/sk/latest/admin/install/source.md), odporúčané pre vývoj.
* [Inštalácia na OpenShift](https://docs.weblate.org/sk/latest/admin/install/openshift.md)
* [Inštalácia na Kubernetes](https://docs.weblate.org/sk/latest/admin/install/kubernetes.md)

<a id="architecture"></a>

## Prehľad architektúry

Webový server
: Spracovanie prichádzajúcich HTTP požiadaviek, [Obsluha statických súborov](#static-files).

Pracovníci Celery
: Tu sa vykonávajú [Úlohy na pozadí pomocou Celery](#celery).
  <br/>
  V závislosti od vašej záťaže môžete chcieť prispôsobiť počet pracovníkov.
  <br/>
  Pri horizontálnom škálovaní Weblate použite vyhradený uzol.

Aplikačný server
: Server WSGI alebo ASGI obsluhujúci webové stránky pre používateľov.
  <br/>
  Pri horizontálnom škálovaní Weblate použite vyhradený uzol.

Databáza
: Databázový server PostgreSQL na ukladanie všetkého obsahu, pozrite [Nastavenie databázy pre Weblate](#database-setup).
  <br/>
  Použite vyhradený databázový uzol pre stránky so stovkami miliónov hosťovaných slov.

Úložisko dát
: Kľúč/hodnota úložisko, ako je server Valkey alebo Redis, pre vyrovnávaciu pamäť a frontu úloh, pozrite [Úlohy na pozadí pomocou Celery](#celery).
  <br/>
  Pri horizontálnom škálovaní Weblate použite vyhradený uzol.

Súborový systém
: Úložisko súborového systému na ukladanie repozitárov VCS a nahraných používateľských dát. Toto je zdieľané všetkými procesmi.
  <br/>
  Pri horizontálnom škálovaní Weblate použite sieťové úložisko.

E-mailový server
: SMTP server pre odchádzajúcu poštu, pozrite [Konfigurácia odchádzajúcej pošty](#out-mail). Môže byť poskytovaný externe.

#### HINT
[Inštalácia pomocou Dockeru](https://docs.weblate.org/sk/latest/admin/install/docker.md) zahŕňa PostgreSQL a Valkey, čo uľahčuje inštaláciu.

<a id="requirements"></a>

## Softvérové požiadavky

### Operačný systém

Je známe, že Weblate funguje na Linuxe, FreeBSD a macOS. Iné systémy podobné Unixu budú s najväčšou pravdepodobnosťou fungovať tiež.

Weblate nie je podporovaný na Windowse. Ale môže stále fungovať a patche sú radi prijímané.

#### SEE ALSO
[Prehľad architektúry](#architecture) popisuje celkovú architektúru Weblate a požadované služby.

<a id="python-deps"></a>

### Závislosti Pythonu

Weblate je napísaný v [Pythone](https://www.python.org/) a podporuje Python 3.12 alebo novší. Závislosti môžete nainštalovať pomocou pip alebo z balíčkov vašej distribúcie, úplný zoznam je dostupný v `requirements.txt`.

Najvýznamnejšie závislosti:

Django
: [https://www.djangoproject.com/](https://www.djangoproject.com/)

Celery
: [https://docs.celeryq.dev/](https://docs.celeryq.dev/)

Translate Toolkit
: [https://toolkit.translatehouse.org/](https://toolkit.translatehouse.org/)

translation-finder
: [https://github.com/WeblateOrg/translation-finder](https://github.com/WeblateOrg/translation-finder)

Python Social Auth
: [https://python-social-auth.readthedocs.io/](https://python-social-auth.readthedocs.io/)

Django REST Framework
: [https://www.django-rest-framework.org/](https://www.django-rest-framework.org/)

<!-- Table is generated using scripts/show-extras.py -->

#### Voliteľné závislosti

| Špecifikátor voliteľnej závislosti   | Balíčky Pythonu                                                                                                                                                           | Funkcia Weblate                                                                                                                 |
|--------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|
| `amazon`                             | [boto3](https://pypi.org/project/boto3/)<br/><br/><br/>[django-ses](https://pypi.org/project/django-ses/)<br/><br/>                                                       | [Amazon Translate](https://docs.weblate.org/sk/latest/admin/machine.md#mt-aws), backend e-mailu AWS SES                                 |
| `asgi`                               | [granian](https://pypi.org/project/granian/)<br/><br/>                                                                                                                    | ASGI server pre Weblate                                                                                                         |
| `gelf`                               | [logging-gelf](https://pypi.org/project/logging-gelf/)<br/><br/>                                                                                                          | [Správa logov Graylog](#graylog)                                                             |
| `gerrit`                             | [git-review](https://pypi.org/project/git-review/)<br/><br/>                                                                                                              | [Gerrit recenzné požiadavky](https://docs.weblate.org/sk/latest/admin/code-hosting.md#code-hosting-gerrit)                                   |
| `google`                             | [google-cloud-storage](https://pypi.org/project/google-cloud-storage/)<br/><br/><br/>[google-cloud-translate](https://pypi.org/project/google-cloud-translate/)<br/><br/> | [Google Cloud Translation Advanced](https://docs.weblate.org/sk/latest/admin/machine.md#mt-google-translate-api-v3) s podporou slovníka |
| `google-errors`                      | [google-cloud-error-reporting](https://pypi.org/project/google-cloud-error-reporting/)<br/><br/>                                                                          | [Zhromažďovanie hlásení chýb a monitorovanie výkonu](#collecting-errors)                               |
| `ldap`                               | [django-auth-ldap](https://pypi.org/project/django-auth-ldap/)<br/><br/>                                                                                                  | [Autentifikácia LDAP](https://docs.weblate.org/sk/latest/admin/auth.md#ldap-auth)                                                    |
| `mercurial`                          | [mercurial](https://pypi.org/project/mercurial/)<br/><br/>                                                                                                                | [Mercurial](https://docs.weblate.org/sk/latest/vcs.md#vcs-mercurial)                                                          |
| `oidc`                               | [django-oauth-toolkit](https://pypi.org/project/django-oauth-toolkit/)<br/><br/>                                                                                          | [OpenID Connect identity provider](https://docs.weblate.org/sk/latest/admin/auth.md#oidc-provider)                                   |
| `postgres`                           | [psycopg](https://pypi.org/project/psycopg/)<br/><br/>                                                                                                                    | PostgreSQL, pozrite [Nastavenie databázy pre Weblate](#database-setup)                              |
| `rollbar`                            | [rollbar](https://pypi.org/project/rollbar/)<br/><br/>                                                                                                                    | [Zhromažďovanie hlásení chýb a monitorovanie výkonu](#collecting-errors)                               |
| `saml`                               | [python3-saml](https://pypi.org/project/python3-saml/)<br/><br/><br/>[xmlsec](https://pypi.org/project/xmlsec/)<br/><br/>                                                 | [Autentifikácia SAML](https://docs.weblate.org/sk/latest/admin/auth.md#saml-auth)                                                    |
| `sphinx`                             | [Sphinx](https://pypi.org/project/Sphinx/)<br/><br/>                                                                                                                      | Potrebné pre [Aktualizovať súbor POT (Sphinx)](https://docs.weblate.org/sk/latest/admin/addons.md#addon-weblate-gettext-sphinx)        |
| `wllegal`                            | [wllegal](https://pypi.org/project/wllegal/)<br/><br/>                                                                                                                    | Integrácia Hosted Weblate                                                                                                       |
| `wsgi`                               | [granian](https://pypi.org/project/granian/)<br/><br/>                                                                                                                    | WSGI server pre Weblate                                                                                                         |
| `zxcvbn`                             | [django-zxcvbn-password-validator](https://pypi.org/project/django-zxcvbn-password-validator/)<br/><br/>                                                                  | [Autentifikácia heslom](https://docs.weblate.org/sk/latest/admin/auth.md#password-authentication)                                    |

Pri inštalácii pomocou pip môžete priamo špecifikovať požadované funkcie pri inštalácii:

```sh
uv pip install "weblate[Postgres,Amazon,SAML]"
```

Alebo môžete nainštalovať Weblate so všetkými voliteľnými funkciami:

```sh
uv pip install "weblate[all]"
```

Alebo môžete nainštalovať Weblate bez akýchkoľvek voliteľných funkcií:

```sh
uv pip install weblate
```

<a id="troubleshoot-pip-install"></a>

### Riešenie problémov s inštaláciou pip

`ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)`
: Toto je spôsobené nekompatibilitou binárnych balíčkov distribuovaných cez PyPI s distribúciou. Na vyriešenie tohto problému musíte balíček znovu zostaviť vo vašom systéme:
  <br/>
  ```sh
  uv pip install --force-reinstall --no-binary :all: cffi
  ```

`error: ‘xmlSecKeyDataFormatEngine’ undeclared (first use in this function); did you mean ‘xmlSecKeyDataFormat’?`
: Toto je známy problém balíčka xmlsec, pozrite si [https://github.com/xmlsec/python-xmlsec/issues/314](https://github.com/xmlsec/python-xmlsec/issues/314).

`lxml & xmlsec libxml2 library version mismatch`
: Balíčky `lxml` a `xmlsec` musia byť zostavené proti jednej `libxml2`. Mali by ste ich zostaviť lokálne, aby ste sa vyhli tomuto problému:
  <br/>
  ```sh
  uv pip install --force-reinstall --no-binary xmlsec --no-binary lxml lxml xmlsec
  ```

### Iné systémové požiadavky

Nasledujúce závislosti musia byť nainštalované v systéme:

`Git`
: [https://git-scm.com/](https://git-scm.com/)

`git-review` (voliteľné pre podporu Gerrit)
: [git-review](https://pypi.org/project/git-review/)

`git-svn` (voliteľné pre podporu Subversion)
: [https://git-scm.com/docs/git-svn](https://git-scm.com/docs/git-svn)

`tesseract` (potrebné iba ak nie sú pre váš systém dostupné binárne wheels **tesserocr**)
: [https://github.com/tesseract-ocr/tesseract](https://github.com/tesseract-ocr/tesseract)

### Závislosti času zostavovania

Na zostavenie niektorých [Závislosti Pythonu](#python-deps) možno budete musieť nainštalovať ich závislosti. Závisí to od toho, ako ich inštalujete, preto sa prosím pozrite do dokumentácie jednotlivých balíčkov. Nebudete ich potrebovať, ak používate predpripravené `Wheels` pri inštalácii pomocou `pip` alebo ak používate balíčky distribúcie.

<a id="hardware"></a>

## Hardvérové požiadavky

Weblate by mal bez problémov bežať na akomkoľvek súčasnom hardvéri, nasledujúca je minimálna konfigurácia potrebná na spustenie Weblate na jednom hostiteľovi (Weblate, databáza a webový server):

* 3 GB RAM
* 2 jadrá CPU
* 1 GB úložného priestoru

#### NOTE
Skutočné požiadavky pre vašu inštaláciu Weblate sa výrazne líšia v závislosti od veľkosti prekladov v nej spravovaných.

### Využitie pamäte

Čím viac pamäte, tým lepšie - používa sa na cacheovanie na všetkých úrovniach (súborový systém, databáza a Weblate). Pre stovky prekladových komponentov sa odporúča aspoň 4 GB RAM.

#### HINT
Pre systémy s menším množstvom pamäte, než sa odporúča, sa odporúča [Nastavenie Celery s jedným procesom](#minimal-celery).

### Využitie CPU

Veľa súbežných používateľov zvyšuje počet potrebných jadier CPU.

Weblate 2026.8 zaviedol NumPy ako povinnú závislosť. Na systémoch x86-64 vyžaduje optimalizovaný build NumPy pribalený v obraze Docker CPU kompatibilné s x86-64-v2. Bez požadovaných funkcií CPU sa NumPy nepodarí načítať a Weblate sa nespustí.

Pred aktualizáciou skontrolujte požadovanú funkciu CPU SSE4.2 na Linux systéme spúšťajúcom Docker:

```sh
grep sse4_2 /proc/cpuinfo
```

Prázdny výstup indikuje, že požadovaná funkcia CPU nie je dostupná. Toto je predbežná kontrola; nájdenie SSE4.2 neoveruje všetky funkcie CPU x86-64-v2.

Ak Docker beží vo virtuálnom stroji, spustite kontrolu vnútri hosťa. Virtuálne stroje môžu skrývať funkcie CPU podporované hostiteľom. Nakonfigurujte virtuálny stroj tak, aby vystavoval požadované funkcie CPU hostiteľa, potom reštartujte hosťa. Ak fyzický CPU nemá požadované funkcie, povyšte hardvér.

### Využitie úložiska

Typické využitie úložiska databázy je okolo 300 MB na 1 milión hosťovaných slov.

Potrebný úložný priestor pre klonované repozitáre sa líši, ale Weblate sa snaží udržiavať ich veľkosť minimálnu pomocou plytkých klonov.

### Výkon úložiska

Operácie správy verzií vykonávajú množstvo vyhľadávaní metadátových súborov. Podadresár `vcs` v [`DATA_DIR`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-DATA_DIR) preto potrebuje nízku latenciu čítania; úložisko s pomalým prístupom k metadátam môže spôsobiť, že operácie ako **git status** budú trvať dlho, aj keď je jeho priepustnosť pre hromadné dáta dobrá. Ak je to možné, uchovávajte [`CACHE_DIR`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-CACHE_DIR) na lokálnom alebo dočasnom úložisku s nízkou latenciou.

Kontroly nasadenia merajú latenciu vyhľadávania metadát pre obe umiestnenia a varujú, ak medián latencie presiahne 10 milisekúnd. Ide o približné meranie v danom časovom bode ovplyvnené záťažou súborového systému a systému. Pred zmenou konfigurácie úložiska znova spustite **weblate check --deploy**.

### Uzly

Pre malé a stredne veľké stránky (milióny hosťovaných slov) môžu byť všetky komponenty Weblate (pozrite [Prehľad architektúry](#architecture)) spustené na jednom uzle.

Keď narastiete na stovky miliónov hosťovaných slov, odporúča sa mať vyhradený uzol pre databázu (pozrite [Nastavenie databázy pre Weblate](#database-setup)).

## Overovanie artefaktov vydania

Archívy vydaní možno overiť pomocou podpisov, atestácií a SBOM zverejnených s assetmi vydania na GitHube. Pozrite [Overovanie artefaktov vydania](https://docs.weblate.org/sk/latest/security/release-artifacts.md#verify).

<a id="file-permissions"></a>

## Oprávnenia súborového systému

Proces Weblate musí mať možnosť čítať a zapisovať do adresára, kde uchováva údaje - [`DATA_DIR`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-DATA_DIR). Všetky súbory v tomto adresári by mali byť vlastnené a zapisovateľné používateľom, ktorý spúšťa všetky procesy Weblate (zvyčajne WSGI a Celery, pozrite [Spúšťanie servera](#server) a [Úlohy na pozadí pomocou Celery](#celery)).

Predvolená konfigurácia ich umiestňuje do rovnakej stromovej štruktúry ako zdrojové kódy Weblate, avšak môžete uprednostniť ich presun na lepšie umiestnenie, ako je: `/var/lib/weblate`.

Weblate sa pokúša vytvoriť tieto adresáre automaticky, ale zlyhá, ak nemá oprávnenie na ich vytvorenie.

Nakonfigurovaný [`CACHE_DIR`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-CACHE_DIR) musí byť tiež zapisovateľný procesom Weblate a musí umožňovať spúšťanie generovaných pomocných súborov. Nepripájajte [`CACHE_DIR`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-CACHE_DIR) s možnosťou `noexec`.

Mali by ste byť opatrní aj pri spúšťaní [Manažérske príkazy](https://docs.weblate.org/sk/latest/admin/management.md#manage), pretože by sa mali spúšťať pod tým istým používateľom, pod ktorým beží samotný Weblate, inak môžu byť nesprávne oprávnenia na niektoré súbory.

V kontajneri Docker musia byť všetky súbory v zväzku `/app/data` vlastnené používateľom `weblate` vo vnútri kontajnera (UID 1000).

#### SEE ALSO
[Obsluha statických súborov](#static-files)

<a id="database-setup"></a>

## Nastavenie databázy pre Weblate

Odporúča sa spúšťať Weblate s databázovým serverom PostgreSQL.

Podporovaný je PostgreSQL 13 a vyšší. Odporúča sa PostgreSQL 15 alebo novší.

#### SEE ALSO
* [Použiť výkonný databázový engine](#production-database)
* [Databases](https://docs.djangoproject.com/en/stable/ref/databases/)
* [Migrácia z iných databáz do PostgreSQL](https://docs.weblate.org/sk/latest/admin/upgrade.md#database-migration)

<a id="db-connections"></a>

### Databázové pripojenia

V predvolenej konfigurácii si každý proces Weblate udržiava trvalé pripojenie k databáze. Trvalé pripojenia zlepšujú odozvu Weblate, ale môžu vyžadovať viac zdrojov pre databázový server. Ďalšie informácie nájdete v [`CONN_MAX_AGE`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-CONN_MAX_AGE) a [Persistent connections](https://docs.djangoproject.com/en/stable/ref/databases/#persistent-database-connections).

Weblate potrebuje aspoň nasledujúci počet pripojení:

* $(4 \times \mathit{nCPUs}) + 2$ pre procesy Celery
* $\mathit{nCPUs} + 1$ pre pracovníkov WSGI

Toto platí pre predvolené hodnoty kontajnera Docker a príkladové konfigurácie uvedené v tejto dokumentácii, ale čísla sa zmenia, ak prispôsobíte počet pracovníkov WSGI alebo upravíte paralelizmus Celery.

Skutočný limit pre počet databázových pripojení musí byť vyšší, aby sa zohľadnili nasledujúce situácie:

* [Manažérske príkazy](https://docs.weblate.org/sk/latest/admin/management.md#manage) tiež potrebujú svoje pripojenie.
* Ak je proces zabitý (napríklad OOM killerom), môže zablokovať existujúce pripojenie až do vypršania časového limitu.

#### SEE ALSO
[Úlohy na pozadí pomocou Celery](#celery),
[Ukážková konfigurácia pre NGINX a uWSGI](#uwsgi),
[`WEBLATE_WORKERS`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_WORKERS)

<a id="postgresql"></a>

### PostgreSQL

PostgreSQL je zvyčajne najlepšou voľbou pre stránky založené na Django. Je to referenčná databáza používaná na implementáciu databázovej vrstvy Django.

#### NOTE
Weblate používa rozšírenie trigramov, ktoré musí byť v niektorých prípadoch inštalované samostatne. Hľadajte `postgresql-contrib` alebo podobne pomenovaný balíček.

#### SEE ALSO
[PostgreSQL notes](https://docs.djangoproject.com/en/stable/ref/databases/#postgresql-notes)

<a id="dbsetup-postgres"></a>

#### Vytvorenie databázy v PostgreSQL

Zvyčajne je dobrý nápad spúšťať Weblate v samostatnej databáze a samostatnom používateľskom účte:

```sh
# If PostgreSQL was not installed before, set the main password
sudo -u postgres psql postgres -c "\password postgres"

# Create a database user called "weblate"
sudo -u postgres createuser --superuser --pwprompt weblate

# Create the database "weblate" owned by "weblate"
sudo -u postgres createdb -E UTF8 -O weblate weblate
```

#### HINT
Ak nechcete, aby bol používateľ Weblate super používateľom v PostgreSQL, môžete to vynechať. V takom prípade budete musieť vykonať niektoré kroky migrácie manuálne ako super používateľ PostgreSQL v schéme, ktorú bude Weblate používať:

```postgres
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION IF NOT EXISTS btree_gin;
CREATE EXTENSION IF NOT EXISTS btree_gist;
```

<a id="config-postgresql"></a>

#### Konfigurácia Weblate na použitie PostgreSQL

Úryvok `settings.py` pre PostgreSQL:

```python
DATABASES = {
    "default": {
        # Database engine
        "ENGINE": "django.db.backends.postgresql",
        # Database name
        "NAME": "weblate",
        # Database user
        "USER": "weblate",
        # Configures name of the PostgreSQL role to alter during the database migration
        # "ALTER_ROLE": "weblate",
        # Database password
        "PASSWORD": "password",
        # Set to empty string for localhost
        "HOST": "database.example.com",
        # Set to empty string for default
        "PORT": "",
        # Persistent connections
        "CONN_MAX_AGE": None,
        "CONN_HEALTH_CHECKS": True,
    }
}
```

Migrácia databázy vykonáva [ALTER ROLE](https://www.postgresql.org/docs/16/sql-alterrole.html) na databázovej roli používanej Weblate. Vo väčšine prípadov sa názov roly zhoduje s používateľským menom. V zložitejších nastaveniach sa názov roly líši od používateľského mena a počas migrácie databázy dostanete chybu o neexistujúcej roli (`psycopg2.errors.UndefinedObject: role \"weblate@hostname\" does not exist`). Je známe, že sa to deje s Azure Database for PostgreSQL, ale nie je to obmedzené len na toto prostredie. Prosím, nastavte `ALTER_ROLE` na zmenu názvu roly, ktorú by mal Weblate počas migrácie databázy upraviť.

#### SEE ALSO
[Databázové pripojenia](#db-connections)

## Iné konfigurácie

<a id="out-mail"></a>

### Konfigurácia odchádzajúcej pošty

Weblate odosiela e-maily pri rôznych príležitostiach - pre aktiváciu účtu a pri rôznych upozorneniach nakonfigurovaných používateľmi. Na to potrebuje prístup k SMTP serveru.

Nastavenie poštového servera je nakonfigurované pomocou týchto nastavení: [`EMAIL_HOST`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-EMAIL_HOST), [`EMAIL_HOST_PASSWORD`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-EMAIL_HOST_PASSWORD), [`EMAIL_USE_TLS`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-EMAIL_USE_TLS), [`EMAIL_USE_SSL`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-EMAIL_USE_SSL), [`EMAIL_HOST_USER`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-EMAIL_HOST_USER) a [`EMAIL_PORT`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-EMAIL_PORT). Ich názvy sú celkom samovysvetľujúce, ale ďalšie informácie nájdete v dokumentácii Django.

#### HINT
Ak dostanete chybu o nepodporovanej autentifikácii (napríklad `SMTP AUTH extension not supported by server`), je to s najväčšou pravdepodobnosťou spôsobené použitím nezabezpečeného pripojenia a server odmieta týmto spôsobom autentifikovať. V takom prípade skúste povoliť [`EMAIL_USE_TLS`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-EMAIL_USE_TLS).

#### SEE ALSO
* [Neprijímanie e-mailov z Weblate](https://docs.weblate.org/sk/latest/contributing/debugging.md#debug-mails)
* [Konfigurácia odchádzajúcej pošty v kontajneri Docker](https://docs.weblate.org/sk/latest/admin/install/docker.md#docker-mail)

<a id="reverse-proxy"></a>

### Beh za reverzným proxy

Niekoré funkcie vo Weblate závisia od správneho odovzdávania HTTP hlavičiek do Weblate. Pri používaní reverzného proxy servera sa uistite, že potrebné informácie sú správne odovzdané.

Na ladenie tejto konfigurácie sa môžete pozrieť na HTTP prostredie v [Výkonnostná správa](https://docs.weblate.org/sk/latest/admin/admin.md#manage-performance).

IP adresa klienta
: Toto je potrebné pre [Obmedzovanie rýchlosti](https://docs.weblate.org/sk/latest/admin/optionals.md#rate-limit) alebo [Aktivita](https://docs.weblate.org/sk/latest/user/profile.md#audit-log).
  <br/>
  Weblate analyzuje IP adresu z `REMOTE_ADDR`, ktorú nastavuje obsluha WSGI. Toto môže byť prázdne (pri používaní soketu pre WSGI) alebo obsahovať adresu reverzného proxy servera, takže Weblate potrebuje dodatočnú HTTP hlavičku s IP adresou klienta.
  <br/>
  Povolenie [`IP_BEHIND_REVERSE_PROXY`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-IP_BEHIND_REVERSE_PROXY) by malo stačiť pre väčšinu bežných nastavení, ale možno budete musieť upraviť aj [`IP_PROXY_HEADER`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-IP_PROXY_HEADER) a [`IP_PROXY_OFFSET`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-IP_PROXY_OFFSET) (použite [`WEBLATE_IP_PROXY_HEADER`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_IP_PROXY_HEADER) a [`WEBLATE_IP_PROXY_OFFSET`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_IP_PROXY_OFFSET) v kontajneri Docker).
  <br/>
  Reverzný proxy server, ktorý sa pripája k Weblate, musí prepísať nakonfigurovanú hlavičku alebo pripojiť overenú adresu partnera na pozícii vybranej pomocou [`IP_PROXY_OFFSET`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-IP_PROXY_OFFSET). Nevyberajte adresu dodanú klientom a nevystavujte aplikačný server cez cestu, ktorá obchádza dôveryhodný proxy server.
  <br/>
  Pri používaní `X-Forwarded-For` s kontajnerom Docker nakonfigurujte [`WEBLATE_TRUSTED_PROXY_ADDRESSES`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_TRUSTED_PROXY_ADDRESSES) s reverznými proxy servermi, ktorým je povolené dodávať adresy klientov.
  <br/>
  #### HINT
  Túto konfiguráciu nie je možné zapnúť predvolene, pretože by umožňovala falšovanie IP adries na inštaláciách, ktoré nemajú správne nakonfigurovaný reverzný proxy server.

Názov hostiteľa servera
: Hlavička [Host](https://www.rfc-editor.org/info/rfc7230#section-5.4) by mala zodpovedať tomu, čo je nakonfigurované ako [`SITE_DOMAIN`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-SITE_DOMAIN). Vo vašom reverznom proxy serveri môže byť potrebná dodatočná konfigurácia (napríklad použite `ProxyPreserveHost On` pre Apache alebo `proxy_set_header Host $host;` pre nginx).
  <br/>
  #### HINT
  Chyby overenia CSRF sú často spôsobené nezhodou medzi hlavičkou [Host](https://www.rfc-editor.org/info/rfc7230#section-5.4) a nakonfigurovaným [`SITE_DOMAIN`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-SITE_DOMAIN).

Protokol klienta
: Neposkytnutie správneho protokolu môže spôsobiť, že sa Weblate dostane do slučky presmerovania pri pokuse o upgrade klienta na HTTPS. Uistite sa, že je správne exponovaný reverzným proxy serverom ako *X-Forwarded-Proto*.
  <br/>
  Túto hlavičku je potom potrebné nakonfigurovať v [`SECURE_PROXY_SSL_HEADER`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-SECURE_PROXY_SSL_HEADER) (`settings.py`) alebo [`WEBLATE_SECURE_PROXY_SSL_HEADER`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_SECURE_PROXY_SSL_HEADER) (prostredie Docker).
  <br/>
  #### IMPORTANT
  Hodnota hlavičky rozlišuje veľké a malé písmená v konfigurácii, takže `WEBLATE_SECURE_PROXY_SSL_HEADER=HTTP_X_FORWARDED_PROTO,https` a `WEBLATE_SECURE_PROXY_SSL_HEADER=HTTP_X_FORWARDED_PROTO,HTTPS` nie sú vzájomne zameniteľné.
  <br/>
  #### HINT
  Ak dostávate chybu „Príliš veľa presmerovaní“ z prehliadača, je to s najväčšou pravdepodobnosťou spôsobené nezhodou medzi skutočným protokolom (HTTPS) a tým, čo pozoruje Weblate.
  <br/>
  #### Versionchanged
  Zmenené vo verzii 5.13: Hlavičky protokolu proxy sú v predvolenej konfigurácii automaticky spracovávané programom **gunicorn**, ale iné servery WSGI majú bezpečnejšiu konfiguráciu a vyžadujú si ich explicitné nastavenie.
  <br/>
  Od verzie Weblate 5.13 používa kontajner Docker **granian** a teraz vyžaduje explicitnú konfiguráciu [`WEBLATE_SECURE_PROXY_SSL_HEADER`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_SECURE_PROXY_SSL_HEADER).

#### SEE ALSO
* [Proxy ukončujúci SSL](https://docs.weblate.org/sk/latest/admin/install/docker.md#docker-ssl-proxy)
* [Obmedzovanie rýchlosti](https://docs.weblate.org/sk/latest/admin/optionals.md#rate-limit)
* [Aktivita](https://docs.weblate.org/sk/latest/user/profile.md#audit-log)
* [Ukážková konfigurácia pre NGINX a Granian](#nginx-granian)
* [Ukážková konfigurácia pre NGINX a Gunicorn](#nginx-gunicorn)
* [Ukážková konfigurácia pre NGINX a uWSGI](#uwsgi)
* [Ukážková konfigurácia pre Apache](#apache)
* [Ukážková konfigurácia pre Apache a Gunicorn](#apache-gunicorn)
* [`IP_BEHIND_REVERSE_PROXY`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-IP_BEHIND_REVERSE_PROXY)
* [`IP_PROXY_HEADER`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-IP_PROXY_HEADER)
* [`IP_PROXY_OFFSET`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-IP_PROXY_OFFSET)
* [`SECURE_PROXY_SSL_HEADER`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-SECURE_PROXY_SSL_HEADER)
* [`WEBLATE_IP_PROXY_HEADER`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_IP_PROXY_HEADER)
* [`WEBLATE_TRUSTED_PROXY_ADDRESSES`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_TRUSTED_PROXY_ADDRESSES)
* [`WEBLATE_IP_PROXY_OFFSET`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_IP_PROXY_OFFSET)

<a id="http-proxy"></a>

### HTTP proxy

Weblate podporuje konfiguráciu HTTP proxy pre jednotlivé protokoly pre odchádzajúce HTTP požiadavky a repozitáre Git. Definujte premenné prostredia proxy v `settings.py`:

```python
import os

os.environ["http_proxy"] = "http://proxy.example.com:8080"
os.environ["https_proxy"] = "http://proxy.example.com:8080"
```

Podporované sú iba `http_proxy` a `https_proxy`. Všeobecné premenné a premenné na obchádzanie, ako napríklad `all_proxy` a `no_proxy`, konfigurácia proxy operačného systému a konfigurácia proxy špecifická pre VCS nie sú podporované.

#### SEE ALSO
[Premenné prostredia proxy](https://everything.curl.dev/usingcurl/proxies/env.html)

<a id="configuration"></a>

## Úprava konfigurácie

#### SEE ALSO
[Vzorová konfigurácia](https://docs.weblate.org/sk/latest/admin/sample.md#sample-configuration)

Skopírujte `weblate/settings_example.py` do `weblate/settings.py` a upravte ho tak, aby zodpovedal vášmu nastaveniu. Pravdepodobne budete chcieť upraviť nasledujúce možnosti:

<a id="std-setting-ADMINS"></a>

`ADMINS`

> Zoznam administrátorov stránky, ktorí majú dostávať upozornenia, keď sa niečo pokazí, napríklad upozornenia na neúspešné zlúčenia alebo chyby Django.

> Kontaktný formulár posiela e-maily aj na tieto adresy, pokiaľ nie je nakonfigurované [`ADMINS_CONTACT`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-ADMINS_CONTACT).

> #### SEE ALSO
> * [`ADMINS`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-ADMINS)
> * [`ADMINS_CONTACT`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-ADMINS_CONTACT)
> * [Správne nakonfigurovať administrátorov](#production-admins)

<a id="std-setting-ALLOWED_HOSTS"></a>

`ALLOWED_HOSTS`

> Toto musíte nastaviť na zoznam hostiteľov, ktorých má vaša stránka obsluhovať. Napríklad:

> ```python
> ALLOWED_HOSTS = ["demo.weblate.org"]
> ```

> Prípadne môžete zahrnúť zástupný znak:

> ```python
> ALLOWED_HOSTS = ["*"]
> ```

> #### SEE ALSO
> * [`ALLOWED_HOSTS`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-ALLOWED_HOSTS)
> * [`WEBLATE_ALLOWED_HOSTS`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_ALLOWED_HOSTS)
> * [Nastavenie povolených hostiteľov](#production-hosts)

<a id="std-setting-SESSION_ENGINE"></a>

`SESSION_ENGINE`

> Nakonfigurujte spôsob ukladania relácií. V prípade, že ponecháte predvolený backend databázy, mali by ste naplánovať: **weblate clearsessions** na odstránenie zastaraných údajov relácií z databázy.

> Ak používate Valkey alebo Redis ako vyrovnávaciu pamäť (pozrite [Konfigurovať vyrovnávaciu pamäť](#production-cache)), odporúča sa použiť ju aj pre relácie:

> ```python
> SESSION_ENGINE = "django.contrib.sessions.backends.cache"
> ```

> #### SEE ALSO
> * [Configuring the session engine](https://docs.djangoproject.com/en/stable/topics/http/sessions/#configuring-sessions)
> * [`SESSION_ENGINE`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-SESSION_ENGINE)

<a id="std-setting-DATABASES"></a>

`DATABASES`

> Pripojenie k databázovému serveru, podrobnosti nájdete v dokumentácii Django.

> #### SEE ALSO
> * [Nastavenie databázy pre Weblate](#database-setup)
> * [`DATABASES`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-DATABASES)
> * [Databases](https://docs.djangoproject.com/en/stable/ref/databases/)

<a id="std-setting-DEBUG"></a>

`DEBUG`

> Toto vypnite pre každý produkčný server. So zapnutým režimom ladenia bude Django zobrazovať spätné stopy v prípade chyby používateľom, keď ho vypnete, chyby budú odoslané e-mailom na `ADMINS` (pozri vyššie).

> Režim ladenia tiež spomaľuje Weblate, pretože Django v tomto prípade interne uchováva oveľa viac informácií.

> #### SEE ALSO
> * [`DEBUG`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-DEBUG)
> * [Vypnúť režim ladenia](#production-debug)

<a id="std-setting-DEFAULT_FROM_EMAIL"></a>

`DEFAULT_FROM_EMAIL`

> Adresa odosielateľa e-mailu pre odchádzajúce e-maily, napríklad registračné e-maily.

> #### SEE ALSO
> [`DEFAULT_FROM_EMAIL`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-DEFAULT_FROM_EMAIL)

<a id="std-setting-SECRET_KEY"></a>

`SECRET_KEY`

> Kľúč používaný Django na podpisovanie niektorých informácií v cookies, viac informácií nájdete v [Tajný kľúč Django](#production-secret).

> #### SEE ALSO
> [`SECRET_KEY`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-SECRET_KEY)

<a id="std-setting-SERVER_EMAIL"></a>

`SERVER_EMAIL`

> E-mail použitý ako adresa odosielateľa pre odosielanie e-mailov administrátorovi, napríklad upozornenia na neúspešné zlúčenie.

> #### SEE ALSO
> [`SERVER_EMAIL`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-SERVER_EMAIL)

<a id="tables-setup"></a>

## Naplnenie databázy

Po dokončení konfigurácie môžete spustiť [`migrate`](https://docs.weblate.org/sk/latest/admin/management.md#weblate-admin-migrate) na vytvorenie štruktúry databázy. Teraz by ste mali byť schopní vytvárať prekladové projekty pomocou administrátorského rozhrania.

Po dokončení by ste mali skontrolovať aj Správu o výkone v administrátorskom rozhraní, ktorá vám poskytne nápovedy týkajúce sa potenciálne neoptimálnej konfigurácie na vašej stránke.

#### SEE ALSO
* [Konfigurácia](https://docs.weblate.org/sk/latest/admin/config.md#config)
* [Zoznam oprávnení](https://docs.weblate.org/sk/latest/admin/access.md#privileges)

<a id="production"></a>

## Produkčné nastavenie

Pre produkčné nastavenie by ste mali vykonať úpravy opísané v nasledujúcich sekciách. Najkritickejšie nastavenia spustia varovanie, ktoré je indikované výkričníkom v hornom paneli, ak ste prihlásení ako super používateľ:

![image](screenshots/admin-wrench.webp)

Odporúča sa tiež skontrolovať kontroly spustené Django (hoci nemusíte opraviť všetky z nich):

```sh
weblate check --deploy
```

Rovnaký kontrolný zoznam si môžete prezrieť aj v [Výkonnostná správa](https://docs.weblate.org/sk/latest/admin/admin.md#manage-performance) v [Rozhranie na správu](https://docs.weblate.org/sk/latest/admin/admin.md#management-interface).

#### SEE ALSO
[Deployment checklist](https://docs.djangoproject.com/en/stable/howto/deployment/checklist/)

<a id="production-debug"></a>

### Vypnúť režim ladenia

Vypnite režim ladenia Django ([`DEBUG`](#std-setting-DEBUG)) pomocou:

```python
DEBUG = False
```

Pri zapnutom režime ladenia Django ukladá všetky vykonané dotazy a zobrazuje používateľom spätné stopy chýb, čo nie je žiaduce v produkčnom nastavení.

#### SEE ALSO
[Úprava konfigurácie](#configuration)

<a id="production-admins"></a>

### Správne nakonfigurovať administrátorov

Nastavte správne adresy administrátorov v nastavení [`ADMINS`](#std-setting-ADMINS), aby ste určili, kto bude dostávať e-maily v prípade, že sa na serveri niečo pokazí, napríklad:

```python
ADMINS = ("Your Name <your_email@example.com>",)
```

#### SEE ALSO
[Úprava konfigurácie](#configuration)

<a id="production-site"></a>

### Nastaviť správnu doménu stránky

Upravte názov a doménu stránky v administrátorskom rozhraní, inak odkazy v RSS alebo registračných e-mailoch nebudú fungovať. Toto sa konfiguruje pomocou [`SITE_DOMAIN`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-SITE_DOMAIN), ktorý by mal obsahovať názov domény stránky.

#### Versionchanged
Zmenené vo verzii 4.2: Pred vydaním 4.2 sa namiesto toho používal framework Django sites, pozrite si [The “sites” framework](https://docs.djangoproject.com/en/stable/ref/contrib/sites/).

#### SEE ALSO
* [Nastavenie povolených hostiteľov](#production-hosts)
* [Správne nakonfigurovať HTTPS](#production-ssl)
* [`SITE_DOMAIN`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-SITE_DOMAIN)
* [`WEBLATE_SITE_DOMAIN`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_SITE_DOMAIN)
* [`ENABLE_HTTPS`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-ENABLE_HTTPS)

<a id="production-ssl"></a>

### Správne nakonfigurovať HTTPS

Dôrazne sa odporúča prevádzkovať Weblate pomocou šifrovaného protokolu HTTPS. Po jeho povolení by ste mali nastaviť [`ENABLE_HTTPS`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-ENABLE_HTTPS) v nastaveniach:

```python
ENABLE_HTTPS = True
```

#### HINT
Možno budete chcieť nastaviť aj HSTS, viac podrobností nájdete v [SSL/HTTPS](https://docs.djangoproject.com/en/stable/topics/security/#security-recommendation-ssl).

#### SEE ALSO
* [`ENABLE_HTTPS`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-ENABLE_HTTPS)
* [Nastavenie povolených hostiteľov](#production-hosts)
* [Nastaviť správnu doménu stránky](#production-site)

### Správne nastaviť SECURE_HSTS_SECONDS

Ak je vaša stránka obsluhovaná cez SSL, mali by ste zvážiť nastavenie hodnoty pre [`SECURE_HSTS_SECONDS`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-SECURE_HSTS_SECONDS) v `settings.py` na povolenie HTTP Strict Transport Security. Predvolene je nastavená na 0, ako je uvedené nižšie.

```python
SECURE_HSTS_SECONDS = 0
```

Ak je nastavená na nenulovú celočíselnú hodnotu, [`django.middleware.security.SecurityMiddleware`](https://docs.djangoproject.com/en/stable/ref/middleware/#django.middleware.security.SecurityMiddleware) nastaví hlavičku [HTTP Strict Transport Security](https://docs.djangoproject.com/en/stable/ref/middleware/#http-strict-transport-security) na všetkých odpovediach, ktoré ju ešte nemajú.

#### WARNING
Nesprávne nastavenie môže nenávratne (na určitý čas) poškodiť vašu stránku. Najprv si prečítajte dokumentáciu [HTTP Strict Transport Security](https://docs.djangoproject.com/en/stable/ref/middleware/#http-strict-transport-security).

<a id="production-database"></a>

### Použiť výkonný databázový engine

* Pre produkčné prostredie použite PostgreSQL, viac informácií nájdete v [Nastavenie databázy pre Weblate](#database-setup).
* Spúšťajte databázový server na rovnakom mieste, inak môže výkon siete alebo spoľahlivosť pokaziť váš zážitok z Weblate.
* Skontrolujte výkon databázového servera alebo vylaďte jeho konfiguráciu, napríklad pomocou [PGTune](https://pgtune.leopard.in.ua/).
* Kontroly nasadenia Weblate hlásia neúplné štatistiky relácií PostgreSQL. Spustite `ANALYZE` na nahlásených reláciách na obnovenie poškodených štatistík.

#### SEE ALSO
* [Nastavenie databázy pre Weblate](#database-setup)
* [Migrácia z iných databáz do PostgreSQL](https://docs.weblate.org/sk/latest/admin/upgrade.md#database-migration)
* [Úprava konfigurácie](#configuration)
* [Databases](https://docs.djangoproject.com/en/stable/ref/databases/)

<a id="production-cache"></a>

### Konfigurovať vyrovnávaciu pamäť

Ak je to možné, používajte Valkey alebo Redis z Django úpravou konfiguračnej premennej `CACHES`, napríklad:

```python
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/0",
        # If redis is running on same host as Weblate, you might
        # want to use unix sockets instead:
        # 'LOCATION': 'unix:///var/run/redis/redis.sock?db=0',
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "PARSER_CLASS": "redis.connection.HiredisParser",
        },
    }
}
```

#### HINT
V prípade, že zmeníte nastavenia pre vyrovnávaciu pamäť, možno budete musieť upraviť aj nastavenia pre Celery, pozri [Úlohy na pozadí pomocou Celery](#celery).

#### SEE ALSO
* [Ukladanie avatarov do vyrovnávacej pamäte](#production-cache-avatar)
* [Django’s cache framework](https://docs.djangoproject.com/en/stable/topics/cache/)

<a id="production-cache-avatar"></a>

### Ukladanie avatarov do vyrovnávacej pamäte

Okrem ukladania do vyrovnávacej pamäte Django vykonáva Weblate aj ukladanie avatarov do vyrovnávacej pamäte. Na tento účel sa odporúča použiť samostatnú vyrovnávaciu pamäť založenú na súboroch:

```python
CACHES = {
    "default": {
        # Default caching backend setup, see above
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "unix:///var/run/redis/redis.sock?db=0",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "PARSER_CLASS": "redis.connection.HiredisParser",
        },
    },
    "avatar": {
        "BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
        "LOCATION": os.path.join(DATA_DIR, "avatar-cache"),
        "TIMEOUT": 604800,
        "OPTIONS": {
            "MAX_ENTRIES": 1000,
        },
    },
}
```

#### SEE ALSO
* [`ENABLE_AVATARS`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-ENABLE_AVATARS)
* [`AVATAR_URL_PREFIX`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-AVATAR_URL_PREFIX)
* [Avatary](https://docs.weblate.org/sk/latest/admin/optionals.md#avatars)
* [Konfigurovať vyrovnávaciu pamäť](#production-cache)
* [Django’s cache framework](https://docs.djangoproject.com/en/stable/topics/cache/)

<a id="production-email"></a>

### Konfigurovať odosielanie e-mailov

Weblate potrebuje odosielať e-maily pri niekoľkých príležitostiach a tieto e-maily by mali mať správnu adresu odosielateľa, prosím nakonfigurujte [`SERVER_EMAIL`](#std-setting-SERVER_EMAIL) a [`DEFAULT_FROM_EMAIL`](#std-setting-DEFAULT_FROM_EMAIL) tak, aby zodpovedali vášmu prostrediu, napríklad:

```python
SERVER_EMAIL = "admin@example.org"
DEFAULT_FROM_EMAIL = "weblate@example.org"
```

#### NOTE
Na vypnutie odosielania e-mailov Weblate nastavte [`EMAIL_BACKEND`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-EMAIL_BACKEND) na `django.core.mail.backends.dummy.EmailBackend`.

Toto vypne *všetko* doručovanie e-mailov vrátane registračných e-mailov alebo e-mailov na resetovanie hesla.

#### SEE ALSO
* [Úprava konfigurácie](#configuration)
* [Konfigurácia odchádzajúcej pošty](#out-mail)
* [`EMAIL_BACKEND`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-EMAIL_BACKEND)
* [`DEFAULT_FROM_EMAIL`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-DEFAULT_FROM_EMAIL)
* [`SERVER_EMAIL`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-SERVER_EMAIL)

<a id="production-hosts"></a>

### Nastavenie povolených hostiteľov

Django vyžaduje, aby [`ALLOWED_HOSTS`](#std-setting-ALLOWED_HOSTS) obsahoval zoznam názvov domén, ktoré môže vaša stránka obsluhovať, ponechanie prázdneho zablokuje akékoľvek požiadavky.

V prípade, že toto nie je nakonfigurované tak, aby zodpovedalo vášmu HTTP serveru, dostanete chyby ako `Neplatná hlavička HTTP_HOST: '1.1.1.1'. Možno budete musieť pridať '1.1.1.1' do ALLOWED_HOSTS.`

#### HINT
V kontajneri Docker je toto dostupné ako [`WEBLATE_ALLOWED_HOSTS`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_ALLOWED_HOSTS).

#### SEE ALSO
* [`ALLOWED_HOSTS`](#std-setting-ALLOWED_HOSTS)
* [`WEBLATE_ALLOWED_HOSTS`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_ALLOWED_HOSTS)
* [Nastaviť správnu doménu stránky](#production-site)

<a id="production-secret"></a>

### Tajný kľúč Django

Nastavenie [`SECRET_KEY`](#std-setting-SECRET_KEY) používa Django na podpisovanie cookies a mali by ste skutočne vygenerovať vlastnú hodnotu, namiesto používania tej z ukážkového nastavenia.

Nový kľúč môžete vygenerovať pomocou **weblate-generate-secret-key**, ktorý je súčasťou Weblate.

#### SEE ALSO
[`SECRET_KEY`](#std-setting-SECRET_KEY)

<a id="production-cron"></a>

### Spúšťanie úloh údržby

Pre optimálny výkon je dobré spúšťať niektoré úlohy údržby na pozadí. Toto sa automaticky vykonáva pomocou [Úlohy na pozadí pomocou Celery](#celery) a pokrýva nasledujúce úlohy:

* Kontrola stavu konfigurácie (každú hodinu).
* Zapisovanie čakajúcich zmien (každú hodinu), pozri [Lenivé zápisy](https://docs.weblate.org/sk/latest/admin/continuous.md#lazy-commit) a [`commit_pending`](https://docs.weblate.org/sk/latest/admin/management.md#weblate-admin-commit_pending).
* Aktualizácia upozornení komponentov (denne).
* Aktualizácia vzdialených vetiev (nocou), pozri [`AUTO_UPDATE`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-AUTO_UPDATE).
* Záloha prekladovej pamäte do JSON (denne), pozri [`dump_memory`](https://docs.weblate.org/sk/latest/admin/management.md#weblate-admin-dump_memory).
* Úlohy údržby fulltextu a databázy (denné a týždenné úlohy), pozri [`cleanuptrans`](https://docs.weblate.org/sk/latest/admin/management.md#weblate-admin-cleanuptrans).

<a id="production-encoding"></a>

### Systémové lokály a kódovanie

Systémové lokály by mali byť nakonfigurované na také, ktoré podporujú UTF-8. Na väčšine distribúcií Linuxu je toto predvolené nastavenie. V prípade, že tomu tak na vašom systéme nie je, prosím, zmeňte lokály na variant UTF-8.

Napríklad úpravou `/etc/default/locale` a nastavením `LANG=\"C.UTF-8\"`.

V niektorých prípadoch majú jednotlivé služby samostatnú konfiguráciu pre lokály. Tá sa líši medzi distribúciami a webovými servermi, preto si skontrolujte dokumentáciu balíčkov vášho webového servera.

Apache na Ubuntu používa `/etc/apache2/envvars`:

```sh
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
```

Apache na CentOS používa `/etc/sysconfig/httpd` (alebo `/opt/rh/httpd24/root/etc/sysconfig/httpd`):

```sh
LANG='en_US.UTF-8'
```

<a id="production-certs"></a>

### Používanie vlastnej certifikačnej autority

Weblate overuje certifikáty SSL počas požiadaviek HTTP. Požiadavky vykonané pomocou HTTPX2 používajú systémové úložisko certifikátov, preto tam nainštalujte vlastné certifikačné autority.

Podrobnejšie informácie nájdete v dokumentácii vašej distribúcie. Napríklad v systéme Debian to možno urobiť umiestnením certifikátu CA do `/usr/local/share/ca-certificates/` a spustením **update-ca-certificates**.

#### HINT
Kontajner Weblate ho nezahŕňa do cesty vyhľadávania, musíte zadať celú cestu na jeho spustenie. Napríklad:

```sh
docker compose exec -u root weblate /usr/sbin/update-ca-certificates
```

Po vykonaní tohto kroku budú požiadavky Weblate HTTPX2 a systémové nástroje vrátane Git dôverovať certifikátu.

Niektoré integrácie, vrátane autentifikácie OAuth a OpenID Connect, používajú Requests, ktoré predvolene nepoužívajú systémové úložisko certifikátov. Keď tieto integrácie komunikujú so službami používajúcimi vlastnú certifikačnú autoritu, nakonfigurujte Requests na použitie systémového balíka CA pridaním nasledujúceho do `settings.py` (cesta je špecifická pre Debian):

```python
import os

os.environ["REQUESTS_CA_BUNDLE"] = "/etc/ssl/certs/ca-certificates.crt"
```

<a id="server"></a>

## Spúšťanie servera

#### HINT
V prípade, že nemáte skúsenosti s nižšie popísanými službami, môžete vyskúšať [Inštalácia pomocou Dockeru](https://docs.weblate.org/sk/latest/admin/install/docker.md).

Na spustenie Weblate budete potrebovať niekoľko služieb, odporúčané nastavenie pozostáva z:

* Databázový server (pozri [Nastavenie databázy pre Weblate](#database-setup))
* Server vyrovnávacej pamäte (pozri [Konfigurovať vyrovnávaciu pamäť](#production-cache))
* Frontendový webový server pre statické súbory a ukončenie SSL (pozri [Obsluha statických súborov](#static-files))
* WSGI server pre dynamický obsah (pozri [Ukážková konfigurácia pre NGINX a uWSGI](#uwsgi))
* Celery na vykonávanie úloh na pozadí (pozri [Úlohy na pozadí pomocou Celery](#celery))

#### NOTE
Medzi službami existujú určité závislosti, napríklad vyrovnávacia pamäť a databáza by mali bežať pri spúšťaní procesov Celery alebo uwsgi.

Vo väčšine prípadov budete spúšťať všetky služby na jednom (virtuálnom) serveri, ale v prípade, že je vaša inštalácia silne zaťažená, môžete služby rozdeliť. Jediným obmedzením je, že servery Celery a Wsgi potrebujú prístup k [`DATA_DIR`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-DATA_DIR).

#### NOTE
Proces WSGI sa musí vykonávať pod tým istým používateľom ako proces Celery, inak budú súbory v [`DATA_DIR`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-DATA_DIR) ukladané so zmiešaným vlastníctvom, čo povedie k problémom za behu.

Pozrite si aj [Oprávnenia súborového systému](#file-permissions) a [Úlohy na pozadí pomocou Celery](#celery).

### Spúšťanie webového servera

Spúšťanie Weblate sa nelíši od spúšťania akéhokoľvek iného programu založeného na Django. Django sa zvyčajne vykonáva ako WSGI alebo fcgi (pozri príklady pre rôzne webové servery nižšie).

#### NOTE
Ukážkové konfiguračné súbory uvedené nižšie sú udržiavané v zdrojovom strome Weblate pod `weblate/examples/`. Sú zahrnuté v zdrojových distribúciách a v tejto dokumentácii, ale Python wheels inštalujú iba súbory behového prostredia. Pri inštalácii Weblate z PyPI si pred kopírovaním týchto príkladov získajte zodpovedajúcu zdrojovú distribúciu alebo zdrojový kód.

Na testovacie účely môžete použiť vstavaný webový server v Django:

```sh
weblate runserver
```

#### WARNING
NEPOUŽÍVAJTE TENTO SERVER V PRODUKČNOM PROSTREDÍ. Neprešiel bezpečnostnými auditmi ani testami výkonu. Pozrite si aj dokumentáciu Django o [`runserver`](https://docs.djangoproject.com/en/stable/ref/django-admin/#django-admin-runserver).

#### HINT
Vstavaný server Django obsluhuje statické súbory iba so zapnutým [`DEBUG`](#std-setting-DEBUG), pretože je určený len na vývoj. Pre produkčné použitie pozrite nastavenia WSGI:

* [Ukážková konfigurácia pre NGINX a Granian](#nginx-granian)
* [Ukážková konfigurácia pre NGINX a Gunicorn](#nginx-gunicorn)
* [Ukážková konfigurácia pre NGINX a uWSGI](#uwsgi)
* [Ukážková konfigurácia pre Apache](#apache)
* [Ukážková konfigurácia pre Apache a Gunicorn](#apache-gunicorn)
* [Obsluha statických súborov](#static-files)

<a id="static-files"></a>

### Obsluha statických súborov

#### Versionchanged
Zmenené vo verzii 5.15.2: `/media/` sa už nepoužíva na obsluhu snímok obrazovky.

Django potrebuje zhromaždiť svoje statické súbory v jednom adresári. Vykonajte to príkazom `weblate collectstatic --noinput`. Tým sa statické súbory skopírujú do adresára určeného nastavením [`STATIC_ROOT`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-STATIC_ROOT) (predvolene je to adresár `static` v rámci [`CACHE_DIR`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-CACHE_DIR)). Produkčné inštalácie používajú v názvoch zhromaždených súborov hash obsahu, aby aktualizované prostriedky nepoužívali zastarané vyrovnávacie pamäte prehliadača alebo proxy.

Odporúča sa obsluhovať statické súbory priamo z vášho webového servera, mali by ste to použiť pre nasledujúce cesty:

`/static/`
: Obsluhuje statické súbory pre Weblate a administrátorské rozhranie (z definície [`STATIC_ROOT`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-STATIC_ROOT)).

`/favicon.ico`
: Malo by byť prepísané tak, aby obsluhovalo `/static/favicon.ico`.

#### SEE ALSO
* [Ukážková konfigurácia pre NGINX a Granian](#nginx-granian)
* [Ukážková konfigurácia pre NGINX a Gunicorn](#nginx-gunicorn)
* [Ukážková konfigurácia pre NGINX a uWSGI](#uwsgi)
* [Ukážková konfigurácia pre Apache](#apache)
* [Ukážková konfigurácia pre Apache a Gunicorn](#apache-gunicorn)
* [How to deploy Django](https://docs.djangoproject.com/en/stable/howto/deployment/)
* [How to deploy static files](https://docs.djangoproject.com/en/stable/howto/static-files/deployment/)

<a id="csp"></a>

### Zásady zabezpečenia obsahu

Predvolená konfigurácia Weblate povoľuje middleware `weblate.middleware.SecurityMiddleware`, ktorý nastavuje bezpečnostné HTTP hlavičky ako *Content-Security-Policy* alebo *X-XSS-Protection*. Tieto sú predvolene nastavené tak, aby fungovali s Weblate a jeho konfiguráciou, ale môžu vyžadovať prispôsobenie pre vaše prostredie.

#### SEE ALSO
* [`CSP_SCRIPT_SRC`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-CSP_SCRIPT_SRC)
* [`CSP_IMG_SRC`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-CSP_IMG_SRC)
* [`CSP_CONNECT_SRC`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-CSP_CONNECT_SRC)
* [`CSP_STYLE_SRC`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-CSP_STYLE_SRC)
* [`CSP_FONT_SRC`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-CSP_FONT_SRC)
* [`CSP_FORM_SRC`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-CSP_FORM_SRC)

<a id="nginx-granian"></a>

### Ukážková konfigurácia pre NGINX a Granian

Nasledujúca konfigurácia spúšťa Weblate pomocou Granian s webovým serverom NGINX:

```nginx
#
# nginx configuration for Weblate
#
# You will want to change:
#
# - server_name
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change python3.12 to match your Python version
# - change weblate user to match your Weblate user
#
server {
    listen 80;
    server_name weblate;
    # Not used
    root /var/www/html;

    location ~ ^/favicon.ico$ {
        # CACHE_DIR/static/favicon.ico
        alias /home/weblate/data/cache/static/favicon.ico;
        expires 30d;
    }

    location /static/ {
        # CACHE_DIR/static/
        alias /home/weblate/data/cache/static/;
        expires 30d;
    }

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:8888;
        proxy_read_timeout 3600;
    }
}
```

#### SEE ALSO
* [Ukážková konfigurácia na spustenie Granian](#running-granian)
* [https://github.com/emmett-framework/granian](https://github.com/emmett-framework/granian)
* [How to deploy with WSGI](https://docs.djangoproject.com/en/stable/howto/deployment/wsgi/)

<a id="nginx-gunicorn"></a>

### Ukážková konfigurácia pre NGINX a Gunicorn

Nasledujúca konfigurácia spúšťa Weblate pomocou Gunicorn pod webovým serverom NGINX (`weblate/examples/weblate.nginx.gunicorn.conf` v zdrojovom strome):

```nginx
#
# nginx configuration for Weblate
#
# You will want to change:
#
# - server_name
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change python3.12 to match your Python version
# - change weblate user to match your Weblate user
#
server {
    listen 80;
    server_name weblate;
    # Not used
    root /var/www/html;

    location ~ ^/favicon.ico$ {
        # CACHE_DIR/static/favicon.ico
        alias /home/weblate/data/cache/static/favicon.ico;
        expires 30d;
    }

    location /static/ {
        # CACHE_DIR/static/
        alias /home/weblate/data/cache/static/;
        expires 30d;
    }

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_pass http://unix:/run/gunicorn.sock;
        proxy_read_timeout 3600;
    }
}
```

#### SEE ALSO
* [Ukážková konfigurácia na spustenie Gunicorn](#running-gunicorn)
* [How to use Django with Gunicorn](https://docs.djangoproject.com/en/stable/howto/deployment/wsgi/gunicorn/)

<a id="uwsgi"></a>

### Ukážková konfigurácia pre NGINX a uWSGI

Na spustenie produkčného webového servera použite wrapper WSGI nainštalovaný s Weblate (pri používaní prostredia Python je nainštalovaný ako `~/weblate-env/lib/python3.14/site-packages/weblate/wsgi.py`). Nezabudnite nastaviť aj cestu vyhľadávania Python pre vaše prostredie Python (napríklad pomocou `virtualenv = /home/user/weblate-env` v uWSGI).

Nasledujúca konfigurácia spúšťa Weblate ako uWSGI pod webovým serverom NGINX.

Konfigurácia pre NGINX (`weblate/examples/weblate.nginx.conf` v zdrojovom strome):

```nginx
#
# nginx configuration for Weblate
#
# You will want to change:
#
# - server_name
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change python3.12 to match your Python version
# - change weblate user to match your Weblate user
#
server {
    listen 80;
    server_name weblate;
    # Not used
    root /var/www/html;

    location ~ ^/favicon.ico$ {
        # CACHE_DIR/static/favicon.ico
        alias /home/weblate/data/cache/static/favicon.ico;
        expires 30d;
    }

    location /static/ {
        # CACHE_DIR/static/
        alias /home/weblate/data/cache/static/;
        expires 30d;
    }

    location / {
        include uwsgi_params;
        # Needed for long running operations in admin interface
        uwsgi_read_timeout 3600;
        # Adjust based to uwsgi configuration:
        uwsgi_pass unix:///run/uwsgi/app/weblate/socket;
        # uwsgi_pass 127.0.0.1:8080;
    }
}
```

Konfigurácia pre uWSGI (`weblate/examples/weblate.uwsgi.ini` v zdrojovom strome):

```ini
#
# uWSGI configuration for Weblate
#
# You will want to change:
#
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change python3.12 to match your Python version
# - change weblate user to match your Weblate user
#
[uwsgi]
plugins       = python3
master        = true
protocol      = uwsgi
socket        = 127.0.0.1:8080
wsgi-file     = /home/weblate/weblate-env/lib/python3.12/site-packages/weblate/wsgi.py

# Add path to Weblate checkout if you did not install
# Weblate by pip
# python-path   = /path/to/weblate

# Path to the Python environment
virtualenv = /home/weblate/weblate-env

# Set sys.executable so Python helpers run with the virtual environment's Python
py-executable = /home/weblate/weblate-env/bin/python

# Needed for OAuth/OpenID
buffer-size   = 8192

# Reload when consuming too much of memory
reload-on-rss = 250

# Increase number of workers for heavily loaded sites
workers       = 8

# Enable threads for Sentry error submission
enable-threads = true

# Child processes do not need file descriptors
close-on-exec = true

# Avoid default 0000 umask
umask = 0022

# Run as weblate user
uid = weblate
gid = weblate

# Enable harakiri mode (kill requests after some time)
# harakiri = 3600
# harakiri-verbose = true

# Enable uWSGI stats server
# stats = :1717
# stats-http = true

# Do not log some errors caused by client disconnects
ignore-sigpipe = true
ignore-write-errors = true
disable-write-exception = true
```

Nastavte `py-executable` na absolútnu cestu k `bin/python` vo vnútri prostredia nakonfigurovaného pomocou `virtualenv`. Weblate používa `sys.executable` Pythonu na spúšťanie pomocných procesov vrátane proxy SSH pripojenia používaného pre repozitáre Git. uWSGI môže inak nastaviť túto hodnotu na svoj vlastný spustiteľný súbor, čo spôsobí zlyhanie operácií repozitára s chybou ako `/usr/bin/uwsgi-core: invalid option -- 'I'`. Samo nastavenie `virtualenv` nezaručuje, že `sys.executable` ukazuje na Python. Po aktualizácii konfigurácie reštartujte uWSGI.

#### SEE ALSO
[How to use Django with uWSGI](https://docs.djangoproject.com/en/stable/howto/deployment/wsgi/uwsgi/)

<a id="apache"></a>

### Ukážková konfigurácia pre Apache

Odporúča sa používať prefork MPM pri používaní WSGI s Weblate.

Nasledujúca konfigurácia spúšťa Weblate ako WSGI, musíte mať povolený `mod_wsgi` (`weblate/examples/apache.conf` v zdrojovom strome):

```apache
#
# VirtualHost for Weblate
#
# You will want to change:
#
# - ServerAdmin and ServerName
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change python3.12 to match Python version mod-wsgi is compiled for
# - change weblate user to match your Weblate user
#
<VirtualHost *:80>
    ServerAdmin admin@weblate.example.org
    ServerName weblate.example.org

    # CACHE_DIR/static/favicon.ico
    Alias /favicon.ico /home/weblate/data/cache/static/favicon.ico

    # CACHE_DIR/static/
    Alias /static/ /home/weblate/data/cache/static/
    <Directory /home/weblate/data/cache/static/>
        Require all granted
    </Directory>

    # Path to your Weblate Python environment
    WSGIDaemonProcess weblate python-home=/home/weblate/weblate-env user=weblate request-timeout=600
    WSGIProcessGroup weblate
    WSGIApplicationGroup %{GLOBAL}

    WSGIScriptAlias / /home/weblate/weblate-env/lib/python3.12/site-packages/weblate/wsgi.py process-group=weblate
    WSGIPassAuthorization On

    <Directory /home/weblate/weblate-env/lib/python3.12/site-packages/weblate/>
        <Files wsgi.py>
        Require all granted
        </Files>
    </Directory>

</VirtualHost>
```

#### NOTE
Weblate vyžaduje Python 3, preto sa uistite, že používate variant modwsgi pre Python 3. Zvyčajne je dostupný ako samostatný balík, napríklad `libapache2-mod-wsgi-py3`.

Na inštaláciu Weblate použite zodpovedajúcu verziu Python.

#### SEE ALSO
* [Systémové lokály a kódovanie](#production-encoding)
* [How to use Django with Apache and mod_wsgi](https://docs.djangoproject.com/en/stable/howto/deployment/wsgi/modwsgi/)

<a id="apache-gunicorn"></a>

### Ukážková konfigurácia pre Apache a Gunicorn

Nasledujúca konfigurácia spúšťa Weblate v Gunicorn a Apache 2.4 (`weblate/examples/apache.gunicorn.conf` v zdrojovom strome):

```apache
#
# VirtualHost for Weblate using gunicorn on localhost:8000
#
# You will want to change:
#
# - ServerAdmin and ServerName
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change weblate user to match your Weblate user
#
<VirtualHost *:443>
    ServerAdmin admin@weblate.example.org
    ServerName weblate.example.org

    # CACHE_DIR/static/favicon.ico
    Alias /favicon.ico /home/weblate/data/cache/static/favicon.ico

    # CACHE_DIR/static/
    Alias /static/ /home/weblate/data/cache/static/
    <Directory /home/weblate/data/cache/static/>
        Require all granted
    </Directory>

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/https_cert.cert
    SSLCertificateKeyFile /etc/apache2/ssl/https_key.pem
    SSLProxyEngine On

    ProxyPass /favicon.ico !
    ProxyPass /static/ !

    ProxyPass / http://localhost:8000/
    ProxyPassReverse / http://localhost:8000/
    ProxyPreserveHost On
</VirtualHost>
```

#### SEE ALSO
* [Ukážková konfigurácia na spustenie Gunicorn](#running-gunicorn)
* [How to use Django with Gunicorn](https://docs.djangoproject.com/en/stable/howto/deployment/wsgi/gunicorn/)

<a id="running-granian"></a>

### Ukážková konfigurácia na spustenie Granian

Weblate má voliteľnú závislosť wsgi (pozrite [Závislosti Pythonu](#python-deps)), ktorá nainštaluje všetko potrebné na spustenie Granian. Pri inštalácii Weblate ju môžete špecifikovať ako:

```shell
uv pip install Weblate[all,wsgi]
```

Po nainštalovaní Granian ho môžete spustiť. Zvyčajne sa to robí na systémovej úrovni. Nasledujúce príklady ukazujú spustenie cez systemd:

```ini
[Unit]
Description=granian daemon
After=network.target

[Service]
User=weblate
Group=weblate
WorkingDirectory=/home/weblate/weblate-env/
Environment="DJANGO_SETTINGS_MODULE=weblate.settings"
RuntimeDirectory=granian
ExecStart=/home/weblate/weblate-env/bin/granian \
    --no-ws \
    --workers-max-rss 450 \
    --interface wsgi \
    --workers 2 \
    --blocking-threads 8 \
    --backlog 128 \
    --backpressure 16 \
    --runtime-mode mt \
    --port 8888 \
    weblate.wsgi:application

[Install]
WantedBy=multi-user.target
```

Granian používa pracovné procesy na paralelné vykonávanie Pythonu, blokujúce vlákna na súbežné požiadavky WSGI a runtime vlákna na sieťový vstup/výstup. Ukážka používa dvoch pracovníkov s ôsmimi blokujúcimi vláknami každý, obmedzuje každého pracovníka na 16 súbežných pripojení a ponecháva runtime vlákna na predvolenej hodnote Granian. Prispôsobte počet pracovníkov a blokujúcich vlákien dostupnej pamäti, počtu jadier CPU a limitu databázových pripojení. Ponechajte backpressure rovnaký alebo vyšší ako počet blokujúcich vlákien.

#### SEE ALSO
* [Ukážková konfigurácia na spustenie Granian s ASGI](#running-granian-asgi)
* [https://github.com/emmett-framework/granian](https://github.com/emmett-framework/granian)
* [How to deploy with WSGI](https://docs.djangoproject.com/en/stable/howto/deployment/wsgi/)

<a id="running-granian-asgi"></a>

### Ukážková konfigurácia na spustenie Granian s ASGI

#### Versionadded
Added in version 2026.8.

Nasadenie ASGI je dostupné ako voliteľná alternatíva k WSGI. Nainštalujte voliteľnú závislosť `asgi`:

```shell
uv pip install Weblate[all,asgi]
```

Nasledujúca jednotka systemd spúšťa aplikáciu Django ASGI:

```ini
[Unit]
Description=granian ASGI daemon
After=network.target

[Service]
User=weblate
Group=weblate
WorkingDirectory=/home/weblate/weblate-env/
Environment="DJANGO_SETTINGS_MODULE=weblate.settings"
RuntimeDirectory=granian
ExecStart=/home/weblate/weblate-env/bin/granian \
    --no-ws \
    --workers-max-rss 450 \
    --interface asginl \
    --workers 2 \
    --backlog 128 \
    --backpressure 16 \
    --runtime-mode mt \
    --port 8888 \
    weblate.asgi:application

[Install]
WantedBy=multi-user.target
```

Ukážka používa ASGI rozhranie Granian bez podpory lifespan alebo WebSocket, pretože Weblate momentálne vystavuje iba HTTP. Middleware Weblate podporuje oba režimy nasadenia a používa vlákno-citlivé adaptéry tam, kde sa stále spolieha na synchrónne Django API. Kontrola zdravia je asynchrónna, ale väčšina pohľadov Weblate zostáva synchrónna a CPU-náročné alebo dlho trvajúce úlohy by mali byť stále spracovávané pomocou [Úlohy na pozadí pomocou Celery](#celery).

WSGI zostáva predvoleným režimom nasadenia. Docker obrazy sa môžu prihlásiť na ASGI nastavením [`WEBLATE_ASGI`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_ASGI) na `1`. Prispôsobte počet pracovníkov a backpressure dostupnej pamäti, počtu jadier CPU a limitu databázových pripojení.

#### SEE ALSO
* [Ukážková konfigurácia na spustenie Granian](#running-granian)
* [https://github.com/emmett-framework/granian](https://github.com/emmett-framework/granian)
* [How to deploy with ASGI](https://docs.djangoproject.com/en/stable/howto/deployment/asgi/)

<a id="running-gunicorn"></a>

### Ukážková konfigurácia na spustenie Gunicorn

Gunicorn sa musí nainštalovať samostatne:

```shell
uv pip install gunicorn
```

Po nainštalovaní Gunicorn ho môžete spustiť. Toto sa zvyčajne robí na systémovej úrovni. Nasledujúce príklady ukazujú spúšťanie cez systemd:

```ini
[Unit]
Description=gunicorn socket

[Socket]
ListenStream=/run/gunicorn.sock

[Install]
WantedBy=sockets.target
```

```ini
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target

[Service]
User=weblate
Group=weblate
WorkingDirectory=/home/weblate/weblate-env/
Environment="DJANGO_SETTINGS_MODULE=weblate.settings"
ExecStart=/home/weblate/weblate-env/bin/gunicorn \
    --preload \
    --timeout 3600 \
    --graceful-timeout 3600 \
    --worker-class=gthread \
    --workers=2 \
    --threads=16 \
    --bind unix:/run/gunicorn.sock \
    weblate.wsgi:application

[Install]
WantedBy=multi-user.target
```

#### SEE ALSO
[How to use Django with Gunicorn](https://docs.djangoproject.com/en/stable/howto/deployment/wsgi/gunicorn/)

### Spúšťanie Weblate pod cestou

Odporúča sa používať prefork MPM pri používaní WSGI s Weblate.

Ukážková konfigurácia Apache na poskytovanie Weblate pod `/weblate`. Opäť s použitím `mod_wsgi` (`weblate/examples/apache-path.conf` v zdrojovom strome):

```apache
#
# VirtualHost for Weblate, running under /weblate path
#
# You will want to change:
#
# - ServerAdmin and ServerName
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change python3.12 to match Python version mod-wsgi is compiled for
# - change weblate user to match your Weblate user
#
<VirtualHost *:80>
    ServerAdmin admin@weblate.example.org
    ServerName weblate.example.org

    # CACHE_DIR/static/favicon.ico
    Alias /weblate/favicon.ico /home/weblate/data/cache/static/favicon.ico

    # CACHE_DIR/static/
    Alias /weblate/static/ /home/weblate/data/cache/static/
    <Directory /home/weblate/data/cache/static/>
        Require all granted
    </Directory>

    # Path to your Weblate Python environment
    WSGIDaemonProcess weblate python-home=/home/weblate/weblate-env user=weblate request-timeout=600
    WSGIProcessGroup weblate
    WSGIApplicationGroup %{GLOBAL}

    WSGIScriptAlias /weblate /home/weblate/weblate-env/lib/python3.12/site-packages/weblate/wsgi.py process-group=weblate
    WSGIPassAuthorization On

    <Directory /home/weblate/weblate-env/lib/python3.12/site-packages/weblate/>
        <Files wsgi.py>
        Require all granted
        </Files>
    </Directory>

</VirtualHost>
```

Dodatočne budete musieť upraviť `weblate/settings.py`:

```python
URL_PREFIX = "/weblate"
```

<a id="celery"></a>

## Úlohy na pozadí pomocou Celery

Weblate používa Celery na vykonávanie pravidelných úloh a úloh na pozadí. Mali by ste spustiť službu Celery, ktorá ich bude vykonávať. Napríklad je zodpovedná za spracovanie nasledujúcich operácií (tento zoznam nie je úplný):

* Prijímanie webhookov z externých služieb (pozri [Háky notifikácií](https://docs.weblate.org/sk/latest/api.md#hooks)).
* Spúšťanie pravidelných úloh údržby, ako sú zálohy, čistenia, denné doplnky alebo aktualizácie (pozri [Zálohovanie a presun Weblate](https://docs.weblate.org/sk/latest/admin/backup.md#backup), [`BACKGROUND_TASKS`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-BACKGROUND_TASKS), [Doplnky](https://docs.weblate.org/sk/latest/admin/addons.md#addons)).
* Spúšťanie [Automatický preklad](https://docs.weblate.org/sk/latest/user/translating.md#auto-translation).
* Odosielanie súhrnných upozornení.
* Vykladanie náročných operácií z procesu WSGI.
* Zapisovanie čakajúcich zmien (pozri [Lenivé zápisy](https://docs.weblate.org/sk/latest/admin/continuous.md#lazy-commit)).

Typické nastavenie používajúce Valkey alebo Redis ako backend vyzerá takto:

```python
CELERY_TASK_ALWAYS_EAGER = False
CELERY_BROKER_URL = "redis://localhost:6379"
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
```

#### SEE ALSO
[Konfigurácia brokera Redis v Celery](https://docs.celeryq.dev/en/stable/getting-started/backends-and-brokers/redis.html#broker-redis-configuration)

Mali by ste tiež spustiť pracovníka Celery na spracovanie úloh a spustenie naplánovaných úloh. Pre ladenie alebo vývoj to možno urobiť priamo z príkazového riadku:

```sh
celery --app=weblate.utils worker --beat \
    --queues=celery,notify,memory,translate,backup \
    --prefetch-multiplier=1
```

Spustenie všetkých frontov v jednom prefork pracovníkovi zdieľa počiatočnú pamäť aplikácie medzi svojimi podprocesmi pri zachovaní paralelného vykonávania úloh. Celery určuje súbežnosť podľa počtu dostupných CPU predvolene; použite `--concurrency` na jej doladenie pre vašu záťaž a dostupnú pamäť.

Na zníženie využitia pamäte pri štarte pracovníci Celery neopakujú systémové kontroly Django. Kontajner Weblate spúšťa komplexnejší príkaz **weblate check --deploy** automaticky počas štartu kontajnera. Pre iné metódy inštalácie spustite príkaz po inštalácii, aktualizáciách alebo zmenách konfigurácie. Kontroly sú tiež dostupné v [rozhraní na správu](https://docs.weblate.org/sk/latest/admin/admin.md#manage-performance).

#### NOTE
Proces Celery sa musí vykonávať pod tým istým používateľom ako proces WSGI, inak budú súbory v [`DATA_DIR`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-DATA_DIR) ukladané so zmiešaným vlastníctvom, čo povedie k problémom za behu.

Pozrite si aj [Oprávnenia súborového systému](#file-permissions) a [Spúšťanie servera](#server).

### Vykonávanie úloh Celery vo WSGI pomocou eager režimu

#### NOTE
Toto bude mať vážny vplyv na výkon webového rozhrania a pokazí funkcie závislé od pravidelného spúšťania (napríklad zapisovanie čakajúcich zmien, súhrnné upozornenia alebo zálohy).

Pre vývoj môžete chcieť použiť eager konfiguráciu, ktorá spracováva všetky úlohy na mieste:

```python
CELERY_TASK_ALWAYS_EAGER = True
CELERY_BROKER_URL = "memory://"
CELERY_TASK_EAGER_PROPAGATES = True
```

### Spúšťanie Celery ako systémovej služby

S najväčšou pravdepodobnosťou budete chcieť spustiť Celery ako démona, čo je popísané v [Daemonization](https://docs.celeryq.dev/en/stable/userguide/daemonizing.html). Pre najbežnejšie nastavenie Linuxu pomocou systemd upravte nižšie uvedené ukážkové súbory. Tieto príklady sú udržiavané v zdrojovom strome Weblate pod `weblate/examples/`; Python wheels tieto ukážky nasadenia neinštalujú.

Jednotka systemd umiestnená ako `/etc/systemd/system/celery-weblate.service`:

```ini
[Unit]
Description=Celery Service (Weblate)
After=network.target

[Service]
Type=forking
User=weblate
Group=weblate
EnvironmentFile=/etc/default/celery-weblate
WorkingDirectory=/home/weblate
RuntimeDirectory=celery
RuntimeDirectoryPreserve=restart
LogsDirectory=celery
ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \
  -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
  --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} \
  --pidfile=${CELERYD_PID_FILE}'
ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} \
  -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
  --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'

[Install]
WantedBy=multi-user.target
```

Konfigurácia prostredia umiestnená ako `/etc/default/celery-weblate`:

```sh
# Name of nodes to start
CELERYD_NODES="combined"

# Absolute or relative path to the 'celery' command:
CELERY_BIN="/home/weblate/weblate-env/bin/celery"

# App instance to use
# comment out this line if you don't use an app
CELERY_APP="weblate.utils"

# Extra command-line arguments to the worker. Celery determines concurrency
# from the number of available CPUs by default. You might need to customize it
# depending on the available resources and Weblate usage. Increase concurrency
# if you get weblate.E019 error, decrease it on a low-resource system.
# Command-line values override corresponding Celery settings in settings.py.
CELERYD_OPTS="--beat:combined --queues:combined=celery,notify,memory,translate,backup --prefetch-multiplier:combined=1"

# Logging configuration
# - %n will be replaced with the first part of the nodename.
# - %I will be replaced with the current child process index
#   and is important when using the prefork pool to avoid race conditions.
CELERYD_PID_FILE="/run/celery/weblate-%n.pid"
CELERYD_LOG_FILE="/var/log/celery/weblate-%n%I.log"
CELERYD_LOG_LEVEL="INFO"
```

Dodatočná konfigurácia na rotáciu logov Celery pomocou **logrotate** umiestnená ako `/etc/logrotate.d/celery`:

```text
/var/log/celery/*.log {
        weekly
        missingok
        rotate 12
        compress
        notifempty
}
```

### Periodické úlohy pomocou Celery beat

Weblate prichádza s vstavaným nastavením pre naplánované úlohy. Plán úloh je uložený v databáze a úlohy sú vykonávané démonom Celery beat.

#### HINT
Môžete definovať ďalšie úlohy v `settings.py`, napríklad pozri [Lenivé zápisy](https://docs.weblate.org/sk/latest/admin/continuous.md#lazy-commit).

<a id="monitoring-celery"></a>

### Monitorovanie stavu Celery

Aktuálnu dĺžku frontov úloh Celery nájdete v [Rozhranie na správu](https://docs.weblate.org/sk/latest/admin/admin.md#management-interface) alebo môžete použiť [`celery_queues`](https://docs.weblate.org/sk/latest/admin/management.md#weblate-admin-celery_queues) na príkazovom riadku. V prípade, že sa front stane príliš dlhým, dostanete aj chybu konfigurácie v administrátorskom rozhraní.

#### WARNING
Chyby Celery sú predvolene logované iba do logu Celery a nie sú viditeľné pre používateľa. V prípade, že chcete mať prehľad o takýchto zlyhaniach, odporúča sa nakonfigurovať [Zhromažďovanie hlásení chýb a monitorovanie výkonu](#collecting-errors).

#### SEE ALSO
* [Monitorovanie Weblate](#monitoring)
* [Ako môžem skontrolovať, či je môj Weblate správne nastavený?](https://docs.weblate.org/sk/latest/faq.md#faq-monitoring)
* [Configuration and defaults](https://docs.celeryq.dev/en/stable/userguide/configuration.html)
* [Workers Guide](https://docs.celeryq.dev/en/stable/userguide/workers.html)
* [Daemonization](https://docs.celeryq.dev/en/stable/userguide/daemonizing.html)
* [Monitoring and Management Guide](https://docs.celeryq.dev/en/stable/userguide/monitoring.html)
* [Vnútorná štruktúra úloh na pozadí](https://docs.weblate.org/sk/latest/contributing/internals.md#background-tasks-internals)
* [`celery_queues`](https://docs.weblate.org/sk/latest/admin/management.md#weblate-admin-celery_queues)

<a id="minimal-celery"></a>

### Nastavenie Celery s jedným procesom

V prípade, že máte veľmi obmedzenú pamäť, môžete chcieť znížiť počet procesov Weblate. Všetky úlohy Celery môžu byť vykonávané v jednom procese pomocou:

```sh
celery --app=weblate.utils worker --beat --queues=celery,notify,memory,translate,backup --pool=solo
```

Inštalácia pomocou Dockeru môže byť nakonfigurovaná na použitie nastavenia Celery s jedným procesom nastavením `CELERY_WORKER_MODE=single`. Pozrite [`CELERY_WORKER_MODE`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-CELERY_WORKER_MODE).

#### WARNING
Toto bude mať citeľný vplyv na výkon Weblate.

<a id="monitoring"></a>

## Monitorovanie Weblate

Weblate poskytuje URL `/healthz/` na použitie v jednoduchých kontrolách stavu, napríklad pomocou Kubernetes. Kontajner Docker má vstavanú kontrolu stavu používajúcu túto URL.

Na monitorovanie metrík Weblate môžete použiť koncový bod API [`GET /api/metrics/`](https://docs.weblate.org/sk/latest/api.md#get--api-metrics-). Monitorovacie nástroje bežiace lokálne môžu získať rovnaké metriky pomocou príkazu [`metrics`](https://docs.weblate.org/sk/latest/admin/management.md#weblate-admin-metrics).

#### SEE ALSO
* [Ako môžem skontrolovať, či je môj Weblate správne nastavený?](https://docs.weblate.org/sk/latest/faq.md#faq-monitoring)
* [Monitorovanie stavu Celery](#monitoring-celery)
* [Plugin Weblate pre Munin](https://github.com/WeblateOrg/munin)

<a id="collecting-errors"></a>

## Zhromažďovanie hlásení chýb a monitorovanie výkonu

Weblate, ako akýkoľvek iný softvér, môže zlyhať. Na zhromažďovanie užitočných stavov zlyhania odporúčame používať služby tretej strany na zhromažďovanie takýchto informácií. Toto je obzvlášť užitočné v prípade zlyhávajúcich úloh Celery, ktoré by inak hlásili chyby iba do logov a vy by ste o nich neboli upozornení. Weblate má podporu pre nasledujúce služby:

### E-mail

Predvolená konfigurácia Weblate inštrumentuje Django na odosielanie e-mailov pri chybách servera cez [`django.utils.log.AdminEmailHandler`](https://docs.djangoproject.com/en/stable/ref/logging/#django.utils.log.AdminEmailHandler). Toto je nastavenie s najmenším úsilím, ale mali by ste zvážiť iné možnosti z dôvodu ochrany súkromia, keďže e-maily s chybami môžu obsahovať citlivé údaje. Viac si o tom môžete prečítať v [Security implications](https://docs.djangoproject.com/en/stable/topics/logging/#logging-security-implications).

Na vypnutie tohto správania odstráňte `mail_admins` z [`LOGGING`](https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-LOGGING) v nastaveniach Weblate alebo vypnite [`WEBLATE_ADMIN_NOTIFY_ERROR`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_ADMIN_NOTIFY_ERROR) v prostredí Docker.

### Sentry

Weblate má vstavanú podporu pre [Sentry](https://sentry.io/). Na jeho použitie stačí nastaviť [`SENTRY_DSN`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-SENTRY_DSN) v `settings.py`:

```python
SENTRY_DSN = "https://id@your.sentry.example.com/"
```

Sentry sa dá použiť aj na monitorovanie výkonu Weblate zbieraním stôp a profilov pre definované percento operácií. Toto sa dá nakonfigurovať pomocou [`SENTRY_TRACES_SAMPLE_RATE`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-SENTRY_TRACES_SAMPLE_RATE) a [`SENTRY_PROFILES_SAMPLE_RATE`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-SENTRY_PROFILES_SAMPLE_RATE).

#### SEE ALSO
* [Monitorovanie výkonu Sentry](https://docs.sentry.io/product/sentry-basics/performance-monitoring/)
* [Profilovanie Sentry](https://docs.sentry.io/product/profiling/)

### Google Cloud Error Reporting

Weblate môže hlásiť spracované chyby servera do [Google Cloud Error Reporting](https://docs.cloud.google.com/error-reporting/docs/grouping-errors). Nainštalujte Weblate s voliteľným balíkom `google-errors` a nakonfigurujte [`GOOGLE_CLOUD_ERROR_REPORTING`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-GOOGLE_CLOUD_ERROR_REPORTING) v `settings.py`:

```python
GOOGLE_CLOUD_ERROR_REPORTING = {
    "project": "your-google-cloud-project",
}
```

Weblate automaticky hlási chyby pod službou `weblate` a ako nahlásenú verziu používa aktuálnu verziu Weblate alebo revíziu Gitu. Tieto hodnoty možno prepísať nastavením `service` alebo `version` v [`GOOGLE_CLOUD_ERROR_REPORTING`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-GOOGLE_CLOUD_ERROR_REPORTING).

### OpenTelemetry

Weblate môže exportovať backendové stopy pomocou [OpenTelemetry](https://opentelemetry.io/). Používa OTLP cez HTTP a môže odosielať stopy do OpenTelemetry Collectora alebo kompatibilného koncového bodu dodávateľa.

```python
OPENTELEMETRY_ENABLED = True
OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT = "https://collector.example.com/v1/traces"
OPENTELEMETRY_TRACES_SAMPLE_RATE = 0.1
```

Integrácia sleduje požiadavky Django, úlohy Celery, Redis, odchádzajúce HTTP požiadavky, databázové volania a rozpätia špecifické pre Weblate. Nakonfigurujte ju pomocou [`OPENTELEMETRY_ENABLED`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-OPENTELEMETRY_ENABLED), [`OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT) a [`OPENTELEMETRY_TRACES_SAMPLE_RATE`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-OPENTELEMETRY_TRACES_SAMPLE_RATE).

<a id="rollbar-errors"></a>

### Rollbar

Weblate má vstavanú podporu pre [Rollbar](https://rollbar.com/). Na jeho použitie stačí postupovať podľa inštrukcií pre [Rollbar notifier for Python](https://docs.rollbar.com/docs/python/).

Stručne povedané, musíte upraviť `settings.py`:

```python
# Add rollbar as last middleware:
MIDDLEWARE = [
    # … other middleware classes …
    "rollbar.contrib.django.middleware.RollbarNotifierMiddleware",
]

# Configure client access
ROLLBAR = {
    "access_token": "POST_SERVER_ITEM_ACCESS_TOKEN",
    "environment": "development" if DEBUG else "production",
    "branch": "main",
    "root": "/absolute/path/to/code/root",
}
```

Všetko ostatné je integrované automaticky, teraz budete zbierať chyby zo strany servera aj klienta.

#### NOTE
Logovanie chýb tiež zahŕňa výnimky, ktoré boli elegantne spracované, ale môžu naznačovať problém – napríklad neúspešné parsovanie nahraného súboru.

<a id="graylog"></a>

### Správa logov Graylog

#### Versionadded
Added in version 5.9.

Weblate je možné nakonfigurovať tak, aby zapisoval logy pomocou protokolu GELF cez TCP. Tento spôsob bol pôvodne vyvinutý na integráciu s Graylogom, no dá sa použiť s akoukoľvek kompatibilnou platformou na logovanie.

Vzorová konfigurácia je uvedená v [Vzorová konfigurácia](https://docs.weblate.org/sk/latest/admin/sample.md#sample-configuration). V prípade Dockeru je možné toto nastaviť pomocou [`WEBLATE_LOG_GELF_HOST`](https://docs.weblate.org/sk/latest/admin/install/docker.md#envvar-WEBLATE_LOG_GELF_HOST).

## Migrácia Weblate na iný server

Migrácia Weblate na iný server by mala byť pomerne jednoduchá, avšak Weblate ukladá dáta na niekoľkých miestach, ktoré je potrebné preniesť opatrne. Najlepší postup je Weblate pred migráciou zastaviť.

### Migrácia databázy

Najpriamejší postup je použiť natívne nástroje databázy, keďže tie sú zvyčajne najefektívnejšie (napr. **pg_dump**). Prípadne môžete použiť replikáciu, ak ju vaša databáza podporuje.

#### SEE ALSO
Migrácia medzi databázami je popísaná v [Migrácia z iných databáz do PostgreSQL](https://docs.weblate.org/sk/latest/admin/upgrade.md#database-migration).

### Migrácia repozitárov VCS

Repozitáre VCS uložené v [`DATA_DIR`](https://docs.weblate.org/sk/latest/admin/config.md#std-setting-DATA_DIR) je taktiež potrebné zmigrovať. Môžete ich jednoducho skopírovať alebo použiť **rsync** na efektívnejšiu migráciu.

### Ďalšie poznámky

Nezabudnite presunúť aj ďalšie služby, ktoré mohol Weblate používať, ako Valkey, Redis, cron úlohy alebo vlastné autentifikačné backendy.
