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žba | Co dělá |
|---|---|
db | databá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-green | webové rozhraní a API ve dvou barvách: jedna slouží, druhá čeká na další verzi — proto se aktualizuje bez výpadku |
proxy | vstup zvenčí: přepíná mezi barvami webu a volitelně ukončuje HTTPS |
updater | volitelně: provádí, co provozovatel zadá ve Správě instalace (aktualizace, návrat, počet procesů, výměna klíče) |
cloudflared | volitelně: 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
- server x86-64 s Linuxem a Dockerem 24 nebo novějším (s pluginem compose), 4 GB paměti a 20 GB disku,
- adresu, na které bude rozhraní dostupné, a u ní HTTPS — certifikát přímo v draftenu, nebo vaši reverzní proxy či tunel,
- přístup ke schránkám: registraci aplikace v Microsoft Entra, servisní účet Google Workspace nebo údaje k IMAP,
- API klíč k modelu (Anthropic, OpenAI) nebo vlastní OpenAI-kompatibilní server,
- licenci od nás.
HTTPS
- V draftenu: dejte instalátoru certifikát a jeho klíč (PEM). draften pak poslouchá na portu 443 a z portu 80 přesměrovává. Obnovený certifikát nasadíte příkazem
./draften certificate nový.pem nový.keybez ztráty jediného požadavku. Certifikát si obstaráváte sami (od certifikační autority nebo klientem ACME). - Před draftenem: bez certifikátu poslouchá draften na
127.0.0.1:8085a HTTPS ukončuje vaše proxy nebo tunel.
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_EDITION | verze, která běží, a edice (onprem) |
DB_ROOT_PASSWORD, DB_PASSWORD | hesla databáze |
MASTER_KEY | klíč, 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_PREVIOUS | předchozí klíč po jeho výměně, dokud jsou v backups/ výpisy z doby před ní |
WEB_APP_SECRET | náhodný řetězec pro podepisování relací |
WEB_PUBLIC_URL | adresa, na které lidé rozhraní otevírají; z ní se skládají návratové adresy přihlášení |
WEB_BIND, DRAFTEN_TLS, WEB_TLS_BIND | kde poslouchá HTTP a HTTPS |
COMPOSE_PROFILES | volitelné služby: updater, tunnel |
DRAFTEN_BACKUPS | kolik výpisů databáze před aktualizací držet v backups/ (výchozí 3) |
CLOUDFLARE_TUNNEL_TOKEN | jen s Cloudflare Tunnelem |
INTERVAL_SECONDS, WORKER_CONCURRENCY | výchozí interval kontrol a počet souběžných kontrol (lépe se nastavují v rozhraní) |
WORKER_REPLICAS | kolik 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ží
.env | nastavení 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.md | co změnilo nainstalované vydání |
Dál
- Instalace krok za krokem,
- Správa instalace — verze, licence, výchozí klíče a odesílatel, organizace,
- Aktualizace přes updater a z příkazové řádky,
- Provoz a výkon,
- Zálohy a obnova,
- Řešení potíží.