# Konfigurace (https://docs.vitrinka.ai/cs/operator/configuration)



## Jak konfigurace funguje [#how]

Server při startu načítá výchozí nastavení z proměnných prostředí; změna vyžaduje restart. Některá nastavení můžete změnit i za běhu: uložená konfigurace SMTP se použije u dalšího e-mailu a nastavení AI ve workspace má přednost před backendem celé instalace. Kontrola hodnot závisí na konkrétní proměnné; používejte hodnoty uvedené v přehledu a po změnách zkontrolujte logy při startu.

[Referenční přehled konfigurace](/cs/reference/env) uvádí registrované proměnné, jejich výchozí hodnoty a význam. Tato stránka popisuje hlavní možnosti instalace.

## Základ [#core]

| Proměnná                        | Výchozí                 | Poznámky                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `VITRINKA_ADDR`                 | `:8080`                 | Adresa, na které poslouchá.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `BASE_URL`                      | `http://127.0.0.1:8080` | Veřejná URL; musí být https, aby cookies nesly `Secure` a aby se posílalo HSTS.                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `DATA_DIR`                      | `./data`                | Řídicí databáze, každá databáze workspace, bloby na disku a cache blobů.                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `VITRINKA_MASTER_KEY`           | —                       | **Povinné** při `VITRINKA_KEYS_PROVIDER=env`. 64 hex znaků; pečetí tajemství aplikace a slouží i jako klíč instalace, když `VITRINKA_KEK` není nastavený. Při `openbao` ho nastavte na jeden start, aby se převzal do úložiště klíčů, a pak ho odstraňte.                                                                                                                                                                                                                                                                                 |
| `VITRINKA_KEK`                  | záložně master klíč     | 64 hex znaků; klíč, pod kterým je zabalený datový klíč každého workspace — [Šifrování](/cs/security/encryption#envelope).                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `VITRINKA_SEAL_STRICT`          | `off`                   | `on` odmítá starší řádky a objekty v prostém textu, místo aby je četl — přepněte, až projde `seal-existing -verify`.                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `MAX_SET_MB`                    | `200`                   | Limit těla požadavku i rozbalené velikosti jedné sady.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `VITRINKA_SESSION_TTL`          | `720h`                  | Absolutní životnost session, vynucená na serveru. Compose v enterprise balíku nastavuje `12h`.                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `VITRINKA_SESSION_IDLE`         | `0`                     | Timeout nečinnosti; `0` ho vypíná, nastavená hodnota musí být aspoň `5m` a kratší než životnost. Compose v enterprise balíku nastavuje `30m`.                                                                                                                                                                                                                                                                                                                                                                                             |
| `VITRINKA_WAITLIST`             | nenastaveno             | `1` podrží každý nový účet, dokud ho neschválíte v `/admin`; čekající pozvánka platí jako schválení a existující účty se přihlásí vždy — [první administrátor](/cs/operator/install#admin).                                                                                                                                                                                                                                                                                                                                               |
| `VITRINKA_OPS_ORG`              | nenastaveno             | Slug organizace, která instalaci provozuje. Její admini — a vždy platform admini — spravují nastavení pro celé nasazení: mailer, nároky na e-mailové domény pro SSO, zapnutí vynuceného SSO při zapnutých nárocích, SSO připojení spravovaná nasazením a trackery, AI backendy a AI endpointy, které smí dosáhnout do vaší interní sítě ([Odchozí cíle](/cs/operator/connectors#outbound)). Bez nastavení jen platform admini. Nedává žádný přístup k datům — [první administrátor](/cs/operator/install#admin).                          |
| `VITRINKA_SSO_DOMAINS`          | `off`                   | `on` dovolí organizacím nárokovat e-mailové domény pro směrování na jejich SSO a vynucené SSO per doména — [SSO](/cs/operator/sso#domains).                                                                                                                                                                                                                                                                                                                                                                                               |
| `VITRINKA_SSO_PRIVATE_NETWORKS` | nenastaveno             | CIDR rozsahy oddělené čárkou, na které smí SSO připojení kromě veřejných adres dosáhnout, pro poskytovatele identity ve vaší síti; dosáhne na ně jen připojení spravované nasazením — [SSO](/cs/operator/sso#private).                                                                                                                                                                                                                                                                                                                    |
| `VITRINKA_SSO_CA`               | nenastaveno             | Privátní CA pro certifikát vašeho poskytovatele identity, jako cesta k PEM souboru nebo text PEM; důvěřuje jí vedle systémových kořenů jen SSO klient — [SSO](/cs/operator/sso#private).                                                                                                                                                                                                                                                                                                                                                  |
| `VITRINKA_BREAK_GLASS`          | `owners`                | Kdo smí použít nouzovou cestu `?local=1` při vynuceném SSO: `off`, `owners` (vlastníci vynucující organizace) nebo `all` — [SSO](/cs/operator/sso#breakglass).                                                                                                                                                                                                                                                                                                                                                                            |
| `VITRINKA_TRUSTED_PROXIES`      | nenastaveno             | CIDR rozsahy vašeho reverzního proxy oddělené čárkou, jejichž `X-Real-Ip` rate limiter a každý řádek auditu berou jako adresu klienta (holá adresa potřebuje své `/32`); loopbacku se věří vždy a od jakéhokoli jiného protějšku se hlavička ignoruje a použije se adresa samotného spojení — [Instalace](/cs/operator/install#proxy).                                                                                                                                                                                                    |
| `AIR_GAP`                       | nenastaveno             | `1` vymaže každé napojení, které sahá na veřejný internet, vypne náhledy odkazových karet a zbylé cíle nastavené adminy — trackery, AI backend workspace, AI endpoint organizace — omezí na interní adresy, a to jen ty, které uložila pravomoc nad instalací; SSO dosáhne jen na interní rozsahy, které vyjmenuje `VITRINKA_SSO_PRIVATE_NETWORKS`, a MCP klienti se registrují bez dokumentu metadat client ID; S3, SMTP, capture a přepisový sidecar i listener metrik zůstávají dostupné — [Air-gapped nasazení](/cs/security/airgap). |
| `LICENSE_FILE`                  | `DATA_DIR/license.json` | Kde server hledá podepsanou licenci. Compose v enterprise balíku nastavuje `/run/license/license.json`. Bez souboru běží neomezený zkušební režim; soubor, který existuje, ale nedá se použít, start odmítne — [Licence](/cs/security/licensing).                                                                                                                                                                                                                                                                                         |

## Úložiště blob souborů [#blobs]

| Proměnná                                  | Výchozí     | Poznámky                                                                                                                                             |
| ----------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `BLOB_BACKEND`                            | `fs`        | `fs` nebo `s3`.                                                                                                                                      |
| `S3_ENDPOINT` `S3_REGION` `S3_BUCKET`     | —           | Povinné při `BLOB_BACKEND=s3`. Bucket se založí, pokud chybí, a ověří se při startu.                                                                 |
| `S3_ACCESS_KEY_ID` `S3_SECRET_ACCESS_KEY` | —           | Přihlašovací údaje k tomu bucketu.                                                                                                                   |
| `VITRINKA_S3_SSE`                         | `aes256`    | Šifrování na straně serveru vyžádané od bucketu: `aes256`, `kms:<key id>` nebo `off`. Objekty jsou tak jako tak šifrovaným textem ze strany klienta. |
| `BLOB_CACHE_MAX_GB`                       | `20`        | Jen S3: průchozí cache pod `DATA_DIR/blobcache`, předehřátá při startu, maže od nejstaršího. `0` ji vypne.                                           |
| `CLAMD_ADDR`                              | nenastaveno | Adresa clamd zapne kontrolu souborů před uložením. Pokud kontrola selže, nahrání se odmítne — [Úložiště](/cs/security/storage#malware).              |

## Úložiště klíčů a export auditu [#keys]

Obojí je ve výchozím stavu vypnuté a nedělá žádné odchozí volání, dokud to nezapnete — úplný kontrakt, kontrola při startu, migrace a chování při selhání jsou v [Šifrování a klíče](/cs/security/encryption#keystore).

| Proměnná                                                                                                                                                                                                                        | Výchozí                    | Poznámky                                                                                                                                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `VITRINKA_KEYS_PROVIDER`                                                                                                                                                                                                        | `env`                      | `env` nechává KEK v prostředí; `openbao` ho drží v transit klíči OpenBao, se kterým server jen komunikuje.                                                                                                                |
| `VITRINKA_OPENBAO_ADDR` `VITRINKA_OPENBAO_MOUNT` `VITRINKA_OPENBAO_KEY` `VITRINKA_OPENBAO_ROLE_ID` `VITRINKA_OPENBAO_SECRET_ID` `VITRINKA_OPENBAO_CA`                                                                           | `transit` · `vitrinka-kek` | Transit engine: adresa, mount, název klíče, přihlašovací údaje AppRole a privátní CA (cesta k PEM souboru, nebo přímo text PEM začínající `-----BEGIN`). `VITRINKA_OPENBAO_TOKEN` je alternativa k AppRole jen pro vývoj. |
| `VITRINKA_DEK_REVERIFY`                                                                                                                                                                                                         | `15m`                      | Jak často se datový klíč každého otevřeného workspace znovu ověřuje proti úložišti klíčů; odvolaný klíč přestane obsluhovat do tohoto okna.                                                                               |
| `VITRINKA_AUDIT_EXPORT`                                                                                                                                                                                                         | `off`                      | `dir` nebo `s3` exportuje auditní stopu každých `VITRINKA_AUDIT_EXPORT_EVERY` (`5m`) jako hashově řetězený podepsaný proud JSONL — [Export auditu](/cs/security/encryption#audit-export).                                 |
| `VITRINKA_AUDIT_EXPORT_DIR`                                                                                                                                                                                                     | `DATA_DIR/audit-worm`      | Adresář jen pro zápis pro `dir` — volba pro odpojené instalace.                                                                                                                                                           |
| `VITRINKA_AUDIT_EXPORT_S3_ENDPOINT` `VITRINKA_AUDIT_EXPORT_S3_REGION` `VITRINKA_AUDIT_EXPORT_S3_BUCKET` `VITRINKA_AUDIT_EXPORT_S3_PREFIX` `VITRINKA_AUDIT_EXPORT_S3_ACCESS_KEY_ID` `VITRINKA_AUDIT_EXPORT_S3_SECRET_ACCESS_KEY` | —                          | Bucket s object lockem pro `s3` a přihlašovací údaje jen pro ukládání.                                                                                                                                                    |
| `VITRINKA_AUDIT_EXPORT_RETAIN_DAYS`                                                                                                                                                                                             | nenastaveno                | Jen `s3`: retence Object Locku otisknutá na každou dávku; nenastavená ponechává každou dávku. Cíl `dir` ji ignoruje.                                                                                                      |

## Uchovávání, hlavičky a hostitel sdílení [#posture]

| Proměnná                          | Výchozí       | Poznámky                                                                                                                                                        |
| --------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `VITRINKA_RETENTION_GRACE`        | `720h`        | Jak dlouho zůstává smazaná session obnovitelná, než ji zametač vymaže.                                                                                          |
| `VITRINKA_RETENTION_SWEEP`        | `1h`          | Jak často zametač běží; nikdy méně než `1m`.                                                                                                                    |
| `VITRINKA_CSP`                    | `report-only` | `enforce` povýší celou content security policy z hlášení na vynucování — [Hlavičky a CSP](/cs/security/headers#csp).                                            |
| `VITRINKA_FRAME_ANCESTORS`        | nenastaveno   | Originy, které smějí vkládat stránky workspace; prázdné znamená `'self'`.                                                                                       |
| `VITRINKA_SHARE_ORIGIN`           | nenastaveno   | Vyhrazený hostitel pro sdílecí odkazy, který nikdy nepřijme session ani token.                                                                                  |
| `VITRINKA_RECORDER_FULL_FIDELITY` | `deny`        | `allow` dovolí politice rekordéru ve workspace redakci úplně vypnout — záchranná brzda pro vlastní instalace — [Plná věrnost](/cs/security/redaction#fidelity). |
| `VITRINKA_REFERENCE_ORIGINS`      | nenastaveno   | Přesné HTTPS originy oddělené mezerou, které smějí se session prohlížeče číst soukromé kolekce referencí; platí jen pro `/api/v1/reference-library`.            |

## Tarify a měření [#metering]

| Proměnná                                                                                               | Výchozí     | Poznámky                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------------------------------------------------------------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `VITRINKA_METERED`                                                                                     | nenastaveno | `1` vymáhá tarif každé organizace — úložiště, místa, nástěnky na workspace — podle nastavení v `/admin`; nová organizace začíná na Free. Bez nastavení, a bez účtování přes Stripe, běží každá organizace na limitech Enterprise: 500 GiB sdíleného úložiště, neomezená místa a 250 000 aktivních nástěnek na workspace. Uložený tarif se zachová a znovu platí, jakmile se měření zapne. Jakákoli jiná hodnota start odmítne. |
| `STRIPE_API_KEY` `STRIPE_WEBHOOK_SECRET` `STRIPE_PRICE_STARTER` `STRIPE_PRICE_PRO` `STRIPE_PRICE_TEAM` | —           | Všech pět nastavených ⇒ účtování aktivní a tarify se také měří. Částečná sada nebo zástupná hodnota start odmítne. Všechny nenastavené ⇒ účtovací cesty se nepřipojí. `STRIPE_PACKS` volitelně uvádí předplacené AI balíčky.                                                                                                                                                                                                   |

`AIR_GAP=1` vymaže Stripe, takže air-gapped instalace měří tarify jen s `VITRINKA_METERED=1`. Který případ platí, říká log při startu: `metering on: VITRINKA_METERED`, `metering on: Stripe configured` nebo `metering off: self-hosted`.

## Observabilita [#observability]

Kromě procesního logu je každý signál vypnutý, dokud ho někam nenasměrujete, a nic neopustí hosta samo.

| Proměnná                      | Výchozí               | Poznámky                                                                                                                                                                                                                                                         |
| ----------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `VITRINKA_LOG_FORMAT`         | `text`                | Procesní log na stderr; compose v enterprise balíku nastavuje `json` pro sběrač logů. Tak jako tak se do něj dostanou jen neprůhledná ID — nikdy e-mail, jméno, IP, user agent, query string, hlavička ani obsah požadavku.                                      |
| `VITRINKA_LOG_LEVEL`          | `info`                | `debug`, `info`, `warn` nebo `error`.                                                                                                                                                                                                                            |
| `VITRINKA_METRICS_ADDR`       | nenastaveno (vypnuto) | Druhý listener jen pro metriky, který servíruje Prometheus `/metrics` (např. `:9464`). Stojí mimo licenční bránu i vrstvu session, proto ho držte ve své privátní síti a nikdy ho nepublikujte přes proxy — compose v balíku pro něj žádný port nemapuje.        |
| `OTEL_EXPORTER_OTLP_ENDPOINT` | nenastaveno (vypnuto) | OTLP/HTTP endpoint, který přijímá traces (např. `http://otel-collector:4318`).                                                                                                                                                                                   |
| `VITRINKA_TRACE_SAMPLE`       | `0.1`                 | Poměr vzorkování na začátku, od `0` do `1`, rozhodnutý u každého požadavku dřív, než se o něm cokoli ví. Tail politika collectoru vybírá jen z exportovaného podílu, takže uchovat každý pomalý nebo selhaný trace vyžaduje `1`.                                 |
| `SENTRY_DSN`                  | nenastaveno (vypnuto) | Hlášení chyb ze serveru a přes tunel `/api/v1/telemetry` na stejném originu i z prohlížeče — prohlížeče se Sentry samy nikdy nekontaktují. Hlavičky, cookies, těla a IP se před odesláním vyčistí a uživatel je neprůhledné ID. Nasměrujte ho na vlastní Sentry. |

`AIR_GAP=1` při startu vymaže `SENTRY_DSN` i `OTEL_EXPORTER_OTLP_ENDPOINT`. Listener metrik zůstane, protože odpovídá jen na scrapování ve vaší vlastní síti.

## Napojení [#integrations]

Nastavte jen integrace, které potřebujete. Některé vyžadují také nastavení workspace nebo projektu — viz [Konektory](/cs/operator/connectors).

| Proměnná                                                                                                                             | Poznámky                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AI_BACKEND_URL` `AI_BACKEND_TOKEN`                                                                                                  | AI backend za run view a chatem; token se posílá dál jako bearer. Starší zápisy `EVE_API_URL` / `EVE_API_TOKEN` dál fungují.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `EVE_URL` `EVE_SECRET`                                                                                                               | AI kanál pro zmínky na nástěnce a review passy, přes HMAC podepsané pushe.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `GITHUB_APP_ID` `GITHUB_APP_PRIVATE_KEY` `GITHUB_APP_SLUG` `GITHUB_APP_CLIENT_ID` `GITHUB_APP_CLIENT_SECRET` `GITHUB_WEBHOOK_SECRET` | GitHub App: commit pilulky, připojení repozitáře per workspace, webhooky pull requestů, přihlášení přes GitHub (`GITHUB_LOGIN=1`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `PLANE_API_URL` `PLANE_API_TOKEN` `PLANE_WORKSPACE`                                                                                  | Všechny tři nastavené ⇒ napojení na Plane: jeden aktualizovaný komentář na sadu u daného issue.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `VITRINKA_CAPTURE_URL` `VITRINKA_CAPTURE_TOKEN`                                                                                      | Screenshotový sidecar browserless/chrome, který si provozujete sami (např. `http://capture:3000`), pro náhledy odkazových karet, press rendery, PDF export dokumentů, PNG export diagramů a snímky relací webového rekordéru (přehrané z nahraného DOM streamu, bez přístupu k síti). Bez nastavení použijí odkazové karty metadata `og:image` a nástěnka relace webového rekordéru se nesestaví, dokud ho nenastavíte. Náhled odkazu mu předá jen stránku na hostiteli ověřeném jako veřejný a snímek stránky, která načetla odpověď z neveřejné adresy, zahodí — [co opouští hostitele](/cs/security/airgap#egress). |
| `VITRINKA_STT_URL`                                                                                                                   | Sidecar whisper.cpp, který spouští profil `stt` v balíku (`http://vitrinka-stt:8080`), pro přepis schůzek na serveru — [Konektory](/cs/operator/connectors#stt).                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `VITRINKA_LISTENER_TTL`                                                                                                              | Výchozí `90`. Kolik sekund přežije lease posluchače mezi heartbeaty, než se jeho rozpracovaná práce vrátí do fronty.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

## Pošta [#mail]

Jeden mailer na instalaci, nastavený v **Settings → Organization → Email**, z CLI (`vitrinka admin smtp`) nebo z prostředí: jako SMTP (`SMTP_HOST`, `SMTP_PORT`, `SMTP_TLS`, `SMTP_USER`, `SMTP_PASSWORD`, `SMTP_CA_FILE`, `EMAIL_FROM` — autentizace přes nešifrované spojení je při startu odmítnutá), nebo jako `RESEND_API_KEY`. Uložená konfigurace má přednost před prostředím a uložit ji smí jen ten, kdo drží pravomoc nad nasazením — [Pošta a notifikace](/cs/operator/mail). Web push potřebuje `VAPID_PUBLIC_KEY` a `VAPID_PRIVATE_KEY`; `VAPID_SUBSCRIBER` nastavte na vlastní `mailto:`, protože výchozí hodnota je jen zástupná.

```bash
vitrinka admin smtp --help
```
