Ir al contenido

Configuración ​

Novodat se configura con variables de entorno. No tiene un archivo de configuración propio ni hace falta tocar la base de datos para empezar.

Dónde se definen ​

Cómo ejecutas NovodatDónde van las variables
Imagen DockerUn archivo de entorno pasado con --env-file (parte de docker/novodat.env.example), o environment: en Compose
Desde el códigoEl entorno del proceso, o un archivo .env en la raíz del repositorio
Plataformas (Kubernetes, PaaS…)El entorno del contenedor, con los secretos del almacén de secretos de la plataforma

Cómo se leen los valores ​

  • Se validan al arrancar el servidor. Si falta uno o es incorrecto, Novodat no arranca y el mensaje nombra cada variable incorrecta (nunca su valor).
  • Vacío significa no definido. CORS_ORIGIN= es lo mismo que no escribir la línea, así que se aplica el valor por defecto.
  • Los valores de sí/no aceptan true/false, 1/0, yes/no y on/off.
  • Las listas van separadas por comas: CORS_ORIGIN=https://a.example.com,https://b.example.com.
  • Las duraciones de la retención son un número entero y una unidad: s, m (minutos), h, d, w o y (365 días), como 90d o 12h. Los demás tiempos son números de segundos, como indica cada tabla.
  • Los cambios necesitan reiniciar. Los valores se leen una vez, al arrancar el proceso.

Lo mínimo ​

ini
DB_CLIENT=pg
DB_HOST=localhost
DB_DATABASE=novodat
DB_USER=novodat
DB_PASSWORD=cambiame

SECRET=un-valor-aleatorio-de-al-menos-32-caracteres
PUBLIC_URL=https://datos.ejemplo.com

# Solo para el primer arranque: el administrador que se crea
ADMIN_EMAIL[email protected]
ADMIN_PASSWORD=cambiame-tambien

Genera SECRET con openssl rand -base64 48. Firma los tokens de acceso y cifra las claves de IA guardadas desde el Desk: mantenlo en secreto y no lo cambies.

Referencia ​

PáginaQué cubre
Base de datosMotor, conexión, pool, schemas de PostgreSQL
ServidorSECRET, PUBLIC_URL, puerto, logs, Desk, CORS, mapa base
SeguridadDuración de los tokens, límites de peticiones, proxies
Inicio de sesión únicoOpenID Connect, OAuth 2.0, SAML y LDAP
CorreoSMTP y recuperación de contraseñas
ArchivosUbicaciones de almacenamiento (local, S3, Azure, Google Cloud) y transformaciones de imágenes
Caché y RedisCaché del esquema, varias instancias, trabajos en segundo plano
GraphQL y WebSocketsLímites de las consultas y suscripciones en tiempo real
Flows y extensionesLímites de los flows, carga de extensiones, variables que pueden leer
IA y MCPModelos de lenguaje y de embeddings, búsqueda vectorial, servidor MCP
RetenciónLimpieza automática del registro de actividad, las revisiones y las ejecuciones de flows