Ir al contenido

Variables de entorno

Todas se colocan en el archivo .env, junto a docker-compose.yml, que lee docker compose (el ejemplo completo y comentado es .env.example). Con docker run, pásalas con -e. Un valor vacío equivale a «no definido».

VariableFunción
POSTGRES_PASSWORDcontraseña del contenedor PostgreSQL
BASEDB_ENCRYPTION_KEYclave de instancia: firma las sesiones y cifra los secretos. openssl rand -base64 32, una sola vez
VariablePredeterminadoFunción
POSTGRES_USERbasedbrol PostgreSQL
POSTGRES_DBbasedbbase de datos PostgreSQL
POSTGRES_PORT5432puerto publicado en 127.0.0.1
DATABASE_URLel contenedor dbuna base de datos PostgreSQL 16+ propia
VariablePredeterminadoFunción
BASEDB_MIGRATE1aplica el catálogo en una base de datos vacía
BASEDB_BOOTSTRAP1prepara el primer administrador
BASEDB_TENANTt4z56fqreferencia del tenant, en las URL de la API
BASEDB_ADMIN_EMAIL—dirección del primer administrador, que se crea al arrancar; si está vacía, lo crea la primera persona que abra la interfaz
BASEDB_ADMIN_PASSWORDgenerada, se muestra una vezcon BASEDB_ADMIN_EMAIL, su contraseña; si está definida, se vuelve a aplicar al administrador en cada arranque: quítala una vez que hayas iniciado sesión

Inicio de sesión con Google, Microsoft… (OIDC)

Sección titulada «Inicio de sesión con Google, Microsoft… (OIDC)»
VariablePredeterminadoFunción
BASEDB_OIDC_PROVIDERS—los proveedores ofrecidos, separados por comas: google,microsoft
BASEDB_OIDC_<NOM>_CLIENT_ID, _CLIENT_SECRET—la aplicación registrada en el proveedor
BASEDB_OIDC_<NOM>_ISSUERel de google, gitlabel emisor OpenID Connect
BASEDB_OIDC_<NOM>_LABEL, _SCOPESsegún el proveedorel nombre del botón, los ámbitos solicitados
BASEDB_OIDC_<NOM>_SIGNUP—off: un primer inicio de sesión no crea una cuenta

Consulta Cuentas e inicio de sesión.

VariablePredeterminadoFunción
BASEDB_PORT3000puerto publicado en 127.0.0.1: la interfaz, /api y /mcp
BASEDB_VERSIONlatestla etiqueta de la imagen eodia/basedb
BASEDB_PUBLIC_URL—dirección pública de basedb, para el retorno OIDC
BASEDB_BASE_PATHla ruta de BASEDB_PUBLIC_URLla ruta bajo la que se sirve basedb detrás de una pasarela, /basedb para https://passerelle.example.com/basedb/; consulta Docker Compose
BASEDB_DOMAIN—el dominio servido en HTTPS por el proxy Caddy
BASEDB_ORIGINS—otros sitios cuyas páginas llaman a la API desde el navegador, separados por comas; innecesario para la interfaz de basedb, servida en la misma dirección
BASEDB_API, BASEDB_MCP/, /mcpla API y el MCP vistos desde el navegador; solo hay que ajustarlos para la pila de desarrollo (pnpm start)
VariablePredeterminadoFunción
BASEDB_FILES_MAX_MB25tamaño máximo de un archivo
BASEDB_S3_BUCKET—activa el almacenamiento S3
BASEDB_S3_ENDPOINT—endpoint S3
BASEDB_S3_REGIONus-east-1región
BASEDB_S3_ACCESS_KEY_ID, BASEDB_S3_SECRET_ACCESS_KEY—credenciales
BASEDB_S3_FORCE_PATH_STYLE10 para el direccionamiento por host

Sin servidor de envío, basedb no envía ningún correo electrónico. Con él se envían las notificaciones que llevan diez minutos sin leerse (cada persona elige cuáles en Configuración › Notificaciones), los correos del paso Enviar un correo electrónico de las automatizaciones, y el enlace de una contraseña olvidada. Los enlaces apuntan a BASEDB_PUBLIC_URL; sin ella, un correo no lleva ninguno.

VariablePredeterminadoFunción
BASEDB_SMTP_HOST—el servidor SMTP: el de tu correo o el de un servicio de envío
BASEDB_SMTP_PORT587465 para una conexión cifrada desde el principio
BASEDB_SMTP_SECUREstarttls (tls en el puerto 465)none solo para un relé en la misma máquina: de lo contrario la contraseña iría en claro
BASEDB_SMTP_USER, BASEDB_SMTP_PASSWORD—el identificador de la cuenta de envío, si lo pide
BASEDB_MAIL_FROM—obligatoria con BASEDB_SMTP_HOST: el remitente, basedb <no-reply@exemple.fr>

Al arrancar, el registro dice cómo está configurado: Courriels : SMTP smtp.exemple.fr:587 (starttls), expéditeur no-reply@exemple.fr. Un correo que el servidor rechaza se reintenta 1, 5, 30, 120 y luego 360 minutos después.

La vista Mapa sitúa una dirección gracias a un servicio de geocodificación: el de OpenStreetMap (Nominatim) de forma predeterminada, consultado una vez por dirección, una solicitud por segundo como máximo, cada respuesta conservada. El fondo del mapa está hecho de teselas que el navegador de cada lector carga directamente.

VariablePredeterminadoFunción
BASEDB_GEOCODER_URLhttps://nominatim.openstreetmap.orgotro servicio que hable el mismo protocolo (un Nominatim propio); off: ninguno, las direcciones no salen de la instancia y solo la latitud y la longitud sitúan las filas
BASEDB_MAP_TILESlas teselas de OpenStreetMapotro servidor de teselas, con el modelo https://…/{z}/{x}/{y}.png
BASEDB_MAP_ATTRIBUTION© OpenStreetMapla mención que exige este servidor, abajo a la derecha del mapa

Al arrancar, el registro dice qué servicio se está usando: Géocodage : https://nominatim.openstreetmap.org.

VariablePredeterminadoFunción
BASEDB_PDF_FONTSlas fuentes Noto de la imagenuna carpeta propia, montada en el contenedor, que contiene NotoSans-Regular.ttf, -Bold, -Italic, -BoldItalic, y para el chino, el japonés y el coreano, NotoSansCJK-Regular.ttc y -Bold.ttc
VariablePredeterminadoFunción
BASEDB_TEMPLATES_URLel catálogo del sitio públicode dónde lee la instancia las plantillas de su galería; off para no leer ninguna (las plantillas integradas se mantienen); consulta Plantillas
VariablePredeterminadoFunción
BASEDB_AI_PROVIDER—openai, anthropic, mistral u openai_compatible (Azure, una pasarela, un modelo local)
BASEDB_AI_MODEL—el modelo
BASEDB_AI_API_KEY—la clave (si no, OPENAI_API_KEY, ANTHROPIC_API_KEY, MISTRAL_API_KEY); opcional con openai_compatible
BASEDB_AI_BASE_URLla dirección del proveedorlo que precede a /chat/completions (/messages con anthropic), parámetros incluidos; obligatoria con openai_compatible; consulta Inteligencia artificial
BASEDB_AI_HEADERS—cabeceras que se añaden a cada llamada, como objeto JSON: {"api-key":"…"}
BASEDB_AI_PROVIDER_SSL_VERIFYtruefalse: no se verifica el certificado TLS del proveedor (una pasarela interna con certificado autofirmado); consulta Inteligencia artificial
BASEDB_AI_QUOTA120llamadas interactivas por hora y por tenant
BASEDB_AI_FIELD_QUOTA300cálculos de campos de IA por hora y por tenant
BASEDB_AI_WORKER10: sin cálculos en segundo plano en este proceso
VariablePredeterminadoFunción
BASEDB_WEBHOOK_ALLOW—tus servidores internos, separados por comas: un nombre (chat.intra.example.com), un dominio y sus subdominios (*.intra.example.com), una dirección o un rango (10.12.0.0/16)

Los webhooks, las solicitudes HTTP de las automatizaciones y las tablas sincronizadas solo se envían a direcciones públicas en HTTPS. Además se acepta un destino de la lista, sea cual sea su dirección, su puerto y su esquema —HTTP incluido—. Una entrada ilegible impide el arranque. Consulta Webhooks.

Una instancia abierta a todos, como demo.basedb.eodia.com: la pantalla de inicio de sesión rellena una cuenta compartida, el visitante lee todo y modifica lo que ya existe, pero no crea ni elimina nada —base, tabla, fila, archivo, comentario, cuenta, token, enlace—, y la IA responde que no forma parte de la demo. La consola SQL solo lee ahí. Devolver la base a su estado cada noche sigue siendo responsabilidad tuya.

VariablePredeterminadoFunción
BASEDB_DEMO—1: la instancia se convierte en una demo pública
BASEDB_DEMO_ACCOUNTS—una cuenta por idioma, separadas por comas: fr=demo@demo.com,en=demo-en@demo.com; la pantalla de inicio de sesión rellena la de su idioma, si no, la inglesa, si no, la primera, y ofrece las demás. Crea estas cuentas, cada una con su proyecto, antes de activar la demo: rechaza las creaciones a todos, administrador incluido
BASEDB_DEMO_PASSWORD—con BASEDB_DEMO_ACCOUNTS, su contraseña, la misma para todas, publicada junto a ellas

Sin BASEDB_DEMO_ACCOUNTS, la cuenta compartida es el administrador que nombran BASEDB_ADMIN_EMAIL y BASEDB_ADMIN_PASSWORD. Una dirección de la demo inicia sesión con la contraseña publicada, se escriba lo que se escriba: los intentos fallidos no la bloquean para todo el mundo.

VariableFunción
BASEDB_DEV_MAIL=1muestra los correos electrónicos en los registros en lugar de enviarlos
BASEDB_WEBHOOK_DEV=1permite webhooks hacia HTTP y las direcciones locales

basedb es software libre de Eodia, estudio de software nativo de IA.