vitrinka.docs
Provoz

Konfigurace

Nastavení instalace, výchozí hodnoty a možnosti správy za běhu.

Jak konfigurace funguje

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 uvádí registrované proměnné, jejich výchozí hodnoty a význam. Tato stránka popisuje hlavní možnosti instalace.

Základ

ProměnnáVýchozíPoznámky
VITRINKA_ADDR:8080Adresa, na které poslouchá.
BASE_URLhttp://127.0.0.1:8080Veř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_KEKzáložně master klíč64 hex znaků; klíč, pod kterým je zabalený datový klíč každého workspace — Šifrování.
VITRINKA_SEAL_STRICToffon 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_MB200Limit těla požadavku i rozbalené velikosti jedné sady.
VITRINKA_SESSION_TTL720hAbsolutní životnost session, vynucená na serveru. Compose v enterprise balíku nastavuje 12h.
VITRINKA_SESSION_IDLE0Timeout 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_WAITLISTnenastaveno1 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.
VITRINKA_OPS_ORGnenastavenoSlug 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). Bez nastavení jen platform admini. Nedává žádný přístup k datům — první administrátor.
VITRINKA_SSO_DOMAINSoffon dovolí organizacím nárokovat e-mailové domény pro směrování na jejich SSO a vynucené SSO per doména — SSO.
VITRINKA_SSO_PRIVATE_NETWORKSnenastavenoCIDR 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.
VITRINKA_SSO_CAnenastavenoPrivá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.
VITRINKA_BREAK_GLASSownersKdo smí použít nouzovou cestu ?local=1 při vynuceném SSO: off, owners (vlastníci vynucující organizace) nebo all — SSO.
VITRINKA_TRUSTED_PROXIESnenastavenoCIDR 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.
AIR_GAPnenastaveno1 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í.
LICENSE_FILEDATA_DIR/license.jsonKde 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.

Úložiště blob souborů

ProměnnáVýchozíPoznámky
BLOB_BACKENDfsfs 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_SSEaes256Š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_GB20Jen S3: průchozí cache pod DATA_DIR/blobcache, předehřátá při startu, maže od nejstaršího. 0 ji vypne.
CLAMD_ADDRnenastavenoAdresa clamd zapne kontrolu souborů před uložením. Pokud kontrola selže, nahrání se odmítne — Úložiště.

Úložiště klíčů a export auditu

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.

ProměnnáVýchozíPoznámky
VITRINKA_KEYS_PROVIDERenvenv 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_CAtransit · vitrinka-kekTransit 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_REVERIFY15mJak č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_EXPORToffdir nebo s3 exportuje auditní stopu každých VITRINKA_AUDIT_EXPORT_EVERY (5m) jako hashově řetězený podepsaný proud JSONL — Export auditu.
VITRINKA_AUDIT_EXPORT_DIRDATA_DIR/audit-wormAdresář 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_DAYSnenastavenoJen 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í

ProměnnáVýchozíPoznámky
VITRINKA_RETENTION_GRACE720hJak dlouho zůstává smazaná session obnovitelná, než ji zametač vymaže.
VITRINKA_RETENTION_SWEEP1hJak často zametač běží; nikdy méně než 1m.
VITRINKA_CSPreport-onlyenforce povýší celou content security policy z hlášení na vynucování — Hlavičky a CSP.
VITRINKA_FRAME_ANCESTORSnenastavenoOriginy, které smějí vkládat stránky workspace; prázdné znamená 'self'.
VITRINKA_SHARE_ORIGINnenastavenoVyhrazený hostitel pro sdílecí odkazy, který nikdy nepřijme session ani token.
VITRINKA_RECORDER_FULL_FIDELITYdenyallow dovolí politice rekordéru ve workspace redakci úplně vypnout — záchranná brzda pro vlastní instalace — Plná věrnost.
VITRINKA_REFERENCE_ORIGINSnenastavenoPř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í

ProměnnáVýchozíPoznámky
VITRINKA_METEREDnenastaveno1 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

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_FORMATtextProcesní 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_LEVELinfodebug, info, warn nebo error.
VITRINKA_METRICS_ADDRnenastaveno (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_ENDPOINTnenastaveno (vypnuto)OTLP/HTTP endpoint, který přijímá traces (např. http://otel-collector:4318).
VITRINKA_TRACE_SAMPLE0.1Pomě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_DSNnenastaveno (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í

Nastavte jen integrace, které potřebujete. Některé vyžadují také nastavení workspace nebo projektu — viz Konektory.

ProměnnáPoznámky
AI_BACKEND_URL AI_BACKEND_TOKENAI 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_SECRETAI 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_SECRETGitHub 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_WORKSPACEVšechny tři nastavené ⇒ napojení na Plane: jeden aktualizovaný komentář na sadu u daného issue.
VITRINKA_CAPTURE_URL VITRINKA_CAPTURE_TOKENScreenshotový 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.
VITRINKA_STT_URLSidecar whisper.cpp, který spouští profil stt v balíku (http://vitrinka-stt:8080), pro přepis schůzek na serveru — Konektory.
VITRINKA_LISTENER_TTLVýchozí 90. Kolik sekund přežije lease posluchače mezi heartbeaty, než se jeho rozpracovaná práce vrátí do fronty.

Pošta

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

vitrinka admin smtp --help

Na této stránce