Per gli amministratori
← Tutti gli argomenti

Installare sul tuo server

Com’è fatta un’installazione: il pacchetto e la licenza, i servizi, HTTPS, l’updater, le impostazioni nel file .env e dove si trova cosa.

Puoi far girare draften sul tuo server. Posta, bozze e chiavi restano allora da te; esce solo ciò che invii al fornitore del modello linguistico (oppure niente, con un modello locale).

Questa pagina è una panoramica di come è fatta un’installazione. La procedura vera e propria è in Installazione passo passo.

Il pacchetto e la licenza

Ogni release di draften è un unico pacchetto, un file draften-<versione>.tar. Contiene le immagini di tutti i servizi, i file che li avviano, un elenco firmato di tutto il contenuto e il comando ./draften che gestisce l’installazione. Al server non serve altro che Docker.

Per farlo girare ti serve una licenza – un file che ricevi da noi e carichi nell’interfaccia. Limita il numero di caselle e di assistenti, e la sua chiave serve anche per scaricare le nuove release. Maggiori dettagli in La licenza.

Di cosa è fatta un’installazione

Tutto gira in Docker tramite docker compose:

ServizioCosa fa
dbil database MariaDB – contiene tutto: impostazioni, istruzioni, messaggi, bozze, segreti cifrati. Nessun’altra macchina lo tocca
workerlegge le caselle, chiama i modelli, scrive le bozze, impara, esegue i passaggi della procedura guidata. Possono girarne diversi
web-blue, web-greenl’interfaccia web e l’API in due colori: uno serve, l’altro aspetta la versione successiva – per questo gli aggiornamenti non causano interruzioni
proxyl’accesso dall’esterno: passa da un colore web all’altro e facoltativamente termina l’HTTPS
updaterfacoltativo: esegue ciò che l’operatore chiede in Installazione (aggiornamento, ritorno alla versione precedente, numero di processi, sostituzione della chiave)
cloudflaredfacoltativo: pubblicazione dell’interfaccia tramite un Cloudflare Tunnel

L’interfaccia e il worker non comunicano direttamente – entrambi lavorano con lo stesso database; ciò che richiede la posta o un modello, l’interfaccia lo mette in coda come job per il worker.

Cosa ti servirà

HTTPS

L’updater

L’updater è un servizio facoltativo che esegue ciò che l’operatore chiede in Installazione → Installazione: l’aggiornamento a una nuova versione, il ritorno a quella precedente, la modifica del numero di processi worker e la sostituzione della chiave di cifratura. Per farlo esegue lo stesso ./draften che eseguiresti tu.

L’updater ha accesso a Docker, il che significa diritti di root sul server. L’interfaccia stessa non tocca mai Docker – scrive solo una richiesta nel database per l’updater. Si attiva durante l’installazione (COMPOSE_PROFILES=updater in .env); senza, tutto funziona dalla riga di comando.

Impostazioni in .env

Il file .env nella cartella dell’installazione lo scrive l’installer ed è leggibile solo dal suo proprietario. Contiene l’infrastruttura e i segreti; tutto ciò che riguarda gli assistenti è nel database e si imposta nell’interfaccia.

VariabileA cosa serve
DRAFTEN_VERSION, DRAFTEN_EDITIONla versione in esecuzione e l’edizione (onprem)
DB_ROOT_PASSWORD, DB_PASSWORDle password del database
MASTER_KEYla chiave che cifra i segreti nel database (chiavi API, accesso alle caselle, client di accesso). Tienine una copia fuori dal server
MASTER_KEY_PREVIOUSla chiave precedente dopo la sostituzione, finché backups/ contiene dump di prima
WEB_APP_SECRETuna stringa casuale che firma le sessioni
WEB_PUBLIC_URLl’indirizzo a cui le persone aprono l’interfaccia; da questo si costruiscono gli indirizzi di reindirizzamento per l’accesso
WEB_BIND, DRAFTEN_TLS, WEB_TLS_BINDdove ascoltano HTTP e HTTPS
COMPOSE_PROFILESservizi facoltativi: updater, tunnel
DRAFTEN_BACKUPSquanti dump del database di prima di un aggiornamento tenere in backups/ (predefinito 3)
CLOUDFLARE_TUNNEL_TOKENsolo con un Cloudflare Tunnel
INTERVAL_SECONDS, WORKER_CONCURRENCYl’intervallo predefinito dei controlli e i controlli simultanei (meglio impostarli nell’interfaccia)
WORKER_REPLICASquanti processi worker girano su questa macchina (predefinito 1), vedi Gestione e capacità

Un valore con il segno $ va scritto come $$ in .env – altrimenti la parte dopo il dollaro si perde senza avvisi. Le chiavi generate con openssl rand -hex 32 non contengono mai il dollaro.

Cosa si trova dove

.envle impostazioni e i segreti dell’installazione
compose.yaml, proxy/come girano i container; ogni aggiornamento li sostituisce
backups/i dump del database di prima degli aggiornamenti
data/il log e i report del worker
updates/i pacchetti in attesa di installazione; anche l’updater scarica qui
NOTES.mdcosa ha cambiato la release installata

Per proseguire

Versione solo testo