Pro administrátory
← Na rozcestník

Instalace na vlastní server

Jak je instalace postavená: balíček a licence, služby, HTTPS, updater, nastavení v .env a co kde leží.

draften můžete provozovat na vlastním serveru. Pošta, koncepty i klíče pak zůstávají u vás; ven jde jen to, co pošlete poskytovateli jazykového modelu (nebo nic, když použijete lokální model).

Tahle stránka je přehled, jak je instalace postavená. Samotný postup je v článku Instalace krok za krokem.

Balíček a licence

Každé vydání draftenu je jeden balíček, soubor draften-<verze>.tar. Obsahuje obrazy všech služeb, soubory, které je spouštějí, podepsaný seznam všeho uvnitř a příkaz ./draften, kterým se instalace spravuje. Na serveru nepotřebuje nic kromě Dockeru.

K provozu potřebujete licenci — soubor, který od nás dostanete a nahrajete v rozhraní. Omezuje počet schránek a asistentů a její klíč slouží i ke stahování nových vydání. Víc v článku Licence.

Z čeho se instalace skládá

Všechno běží v Dockeru přes docker compose:

SlužbaCo dělá
dbdatabáze MariaDB — drží všechno: nastavení, pokyny, zprávy, koncepty, šifrovaná tajemství. Z jiného stroje na ni nic nesahá
workerčte schránky, volá modely, píše koncepty, učí se, spouští kroky průvodce. Může jich běžet víc
web-blue, web-greenwebové rozhraní a API ve dvou barvách: jedna slouží, druhá čeká na další verzi — proto se aktualizuje bez výpadku
proxyvstup zvenčí: přepíná mezi barvami webu a volitelně ukončuje HTTPS
updatervolitelně: provádí, co provozovatel zadá ve Správě instalace (aktualizace, návrat, počet procesů, výměna klíče)
cloudflaredvolitelně: zveřejnění rozhraní přes Cloudflare Tunnel

Rozhraní a worker spolu přímo nemluví — oba pracují se stejnou databází; co potřebuje poštu nebo model, zařadí rozhraní do fronty úloh pro workera.

Co budete potřebovat

HTTPS

Updater

Updater je volitelná služba, která provádí to, co provozovatel zadá ve Správě instalace → Instalace: aktualizaci na novou verzi, návrat na předchozí, změnu počtu procesů workeru a výměnu šifrovacího klíče. Spouští k tomu tentýž ./draften, jaký byste spustili vy.

Updater má přístup k Dockeru, tedy práva roota na serveru. Rozhraní samo k Dockeru nikdy nesahá — updateru jen zapíše žádost do databáze. Zapíná se při instalaci (v .env je COMPOSE_PROFILES=updater); bez něj jde všechno z příkazové řádky.

Nastavení v .env

Soubor .env v adresáři instalace zapíše instalátor a čte ho jen jeho vlastník. Drží infrastrukturu a tajemství; všechno o asistentech je v databázi a nastavuje se v rozhraní.

ProměnnáK čemu
DRAFTEN_VERSION, DRAFTEN_EDITIONverze, která běží, a edice (onprem)
DB_ROOT_PASSWORD, DB_PASSWORDhesla databáze
MASTER_KEYklíč, kterým jsou v databázi zašifrovaná tajemství (API klíče, přístupy ke schránkám, klienti pro přihlášení). Uložte si kopii mimo server
MASTER_KEY_PREVIOUSpředchozí klíč po jeho výměně, dokud jsou v backups/ výpisy z doby před ní
WEB_APP_SECRETnáhodný řetězec pro podepisování relací
WEB_PUBLIC_URLadresa, na které lidé rozhraní otevírají; z ní se skládají návratové adresy přihlášení
WEB_BIND, DRAFTEN_TLS, WEB_TLS_BINDkde poslouchá HTTP a HTTPS
COMPOSE_PROFILESvolitelné služby: updater, tunnel
DRAFTEN_BACKUPSkolik výpisů databáze před aktualizací držet v backups/ (výchozí 3)
CLOUDFLARE_TUNNEL_TOKENjen s Cloudflare Tunnelem
INTERVAL_SECONDS, WORKER_CONCURRENCYvýchozí interval kontrol a počet souběžných kontrol (lépe se nastavují v rozhraní)
WORKER_REPLICASkolik procesů worker běží na tomto stroji (výchozí 1), viz Provoz a výkon

Hodnota se znakem $ se v .env musí psát jako $$ — jinak se část za dolarem tiše ztratí. Klíče vygenerované příkazem openssl rand -hex 32 dolar nikdy neobsahují.

Co kde leží

.envnastavení a tajemství instalace
compose.yaml, proxy/jak kontejnery běží; každá aktualizace je nahradí
backups/výpisy databáze z doby před aktualizacemi
data/log a reporty workera
updates/balíčky čekající na instalaci; stahuje sem i updater
NOTES.mdco změnilo nainstalované vydání

Dál

Textová verze