Para administradores
← Todos los temas

Instalación en su propio servidor

Cómo se compone una instalación: el paquete y la licencia, los servicios, HTTPS, el updater, la configuración de .env y dónde está cada cosa.

Puede ejecutar draften en su propio servidor. El correo, los borradores y las claves se quedan entonces con usted; solo sale lo que envía al proveedor del modelo de lenguaje (o nada, con un modelo local).

Esta página es un resumen de cómo se compone una instalación. El procedimiento en sí está en La instalación, paso a paso.

El paquete y la licencia

Cada versión de draften es un paquete, un archivo draften-<version>.tar. Contiene las imágenes de todos los servicios, los archivos que los inician, una lista firmada de todo su contenido y el comando ./draften, que administra la instalación. El servidor no necesita nada más que Docker.

Para ejecutarlo necesita una licencia: un archivo que le damos nosotros y que se sube en la interfaz. Limita el número de buzones y de asistentes, y su clave sirve también para descargar las versiones nuevas. Más información en La licencia.

De qué se compone una instalación

Todo se ejecuta en Docker mediante docker compose:

ServicioQué hace
dbla base de datos MariaDB: lo guarda todo (configuración, instrucciones, mensajes, borradores, secretos cifrados). Nada de otra máquina accede a ella
workerlee los buzones, llama a los modelos, escribe los borradores, aprende, ejecuta los pasos de la configuración guiada. Puede haber varios
web-blue, web-greenla interfaz web y la API en dos colores: uno atiende y el otro espera a la siguiente versión; por eso las actualizaciones no interrumpen el servicio
proxyla entrada desde fuera: cambia entre los colores de la web y, opcionalmente, termina el HTTPS
updateropcional: ejecuta lo que el operador solicita en Instalación (actualizar, volver a una versión anterior, el número de procesos, sustituir la clave)
cloudflaredopcional: publicar la interfaz a través de un Cloudflare Tunnel

La interfaz y el worker no se comunican directamente: ambos trabajan con la misma base de datos; lo que necesita el correo o un modelo, la interfaz lo pone en cola como trabajo para el worker.

Qué necesitará

HTTPS

El updater

El updater es un servicio opcional que ejecuta lo que el operador solicita en Instalación › Instalación: actualizar a una versión nueva, volver a la anterior, cambiar el número de procesos worker y sustituir la clave de cifrado. Para ello ejecuta el mismo ./draften que ejecutaría usted.

El updater tiene acceso a Docker, lo que equivale a derechos de root en el servidor. La propia interfaz nunca toca Docker: solo escribe una solicitud en la base de datos para el updater. Se activa durante la instalación (COMPOSE_PROFILES=updater en .env); sin él, todo funciona desde la línea de comandos.

Configuración en .env

El archivo .env del directorio de la instalación lo escribe el instalador y solo lo puede leer su propietario. Contiene la infraestructura y los secretos; todo lo relativo a los asistentes está en la base de datos y se configura en la interfaz.

VariablePara qué
DRAFTEN_VERSION, DRAFTEN_EDITIONla versión en ejecución y la edición (onprem)
DB_ROOT_PASSWORD, DB_PASSWORDcontraseñas de la base de datos
MASTER_KEYla clave que cifra los secretos en la base de datos (claves de API, acceso a los buzones, clientes de inicio de sesión). Guarde una copia fuera del servidor
MASTER_KEY_PREVIOUSla clave anterior después de sustituirla, mientras backups/ contenga volcados de antes del cambio
WEB_APP_SECRETuna cadena aleatoria que firma las sesiones
WEB_PUBLIC_URLla dirección en la que se abre la interfaz; a partir de ella se crean las direcciones de redirección del inicio de sesión
WEB_BIND, DRAFTEN_TLS, WEB_TLS_BINDdónde escuchan HTTP y HTTPS
COMPOSE_PROFILESservicios opcionales: updater, tunnel
DRAFTEN_BACKUPScuántos volcados de la base de datos de antes de una actualización se conservan en backups/ (3 de forma predeterminada)
CLOUDFLARE_TUNNEL_TOKENsolo con un Cloudflare Tunnel
INTERVAL_SECONDS, WORKER_CONCURRENCYel intervalo predeterminado de revisión del correo y las revisiones simultáneas (mejor configurarlos en la interfaz)
WORKER_REPLICAScuántos procesos worker se ejecutan en esta máquina (1 de forma predeterminada), vea Funcionamiento y capacidad

Un valor con el signo $ debe escribirse como $$ en .env; si no, la parte que sigue al dólar se pierde sin aviso. Las claves generadas con openssl rand -hex 32 nunca contienen un dólar.

Dónde está cada cosa

.envla configuración y los secretos de la instalación
compose.yaml, proxy/cómo se ejecutan los contenedores; cada actualización los sustituye
backups/volcados de la base de datos de antes de las actualizaciones
data/los registros y los informes del worker
updates/paquetes pendientes de instalar; el updater también descarga aquí
NOTES.mdqué cambió la versión instalada

Siguiente

Versión en texto