Configuración avanzada

Databasus funciona con valores por defecto razonables desde el primer momento: una instalación estándar de un solo contenedor no necesita configuración alguna. Todas las variables de esta página son opcionales y no hacen falta en el 99% de los despliegues en producción.

OAuth

Por defecto Databasus usa inicio de sesión con correo y contraseña. Además, puede permitir que la gente inicie sesión con su cuenta de Google o GitHub. El botón de un proveedor aparece en cuanto se define su client ID, pero el inicio de sesión solo se completa cuando están presentes tanto el client ID como el client secret.

Al registrar la aplicación OAuth, establezca su URL de redirección (callback) en https://<your-domain>/auth/callback. Debido a esa redirección, el inicio de sesión OAuth necesita que su instancia se sirva por HTTPS en un dominio público; vea la nota más abajo.

HTTPS es obligatorio para el inicio de sesión y el correo. Tanto el inicio de sesión OAuth como el correo necesitan que su instancia sea accesible por HTTPS en un dominio público: los proveedores OAuth redirigen el navegador de vuelta a https://<your-domain>/auth/callback, y los enlaces dentro de los correos deben abrirse para quien los recibe. Una instancia solo en localhost o en HTTP plano no puede usar estas funciones. La forma más simple de obtener HTTPS es la configuración del reverse proxy Caddy.

Google

Cree un cliente OAuth en la Google Cloud Console (APIs & Services → Credentials → Create credentials → OAuth client ID, tipo de aplicación Web application) y añada https://<your-domain>/auth/callback como URI de redirección autorizada.

VariableDescripción
GOOGLE_CLIENT_IDClient ID de su cliente OAuth de Google. Al definirlo se muestra el botón "Sign in with Google".
GOOGLE_CLIENT_SECRETClient secret de su cliente OAuth de Google. Requerido junto con el ID para que el inicio de sesión funcione.

GitHub

Cree una aplicación OAuth en GitHub Developer settings (Settings → Developer settings → OAuth Apps → New OAuth App) y establezca la authorization callback URL en https://<your-domain>/auth/callback.

VariableDescripción
GITHUB_CLIENT_IDClient ID de su aplicación OAuth de GitHub. Al definirlo se muestra el botón "Sign in with GitHub".
GITHUB_CLIENT_SECRETClient secret de su aplicación OAuth de GitHub. Requerido junto con el ID para que el inicio de sesión funcione.

Correo electrónico (SMTP)

Conecte un servidor SMTP para que Databasus pueda enviar correo transaccional, como enlaces de restablecimiento de contraseña e invitaciones a espacios de trabajo. El correo se considera configurado solo cuando están definidos tanto SMTP_HOST como DATABASUS_URL; hasta entonces, las funciones de correo permanecen ocultas en la interfaz.

VariableDescripción
SMTP_HOSTNombre de host del servidor SMTP (p. ej. smtp.gmail.com). Activa el correo junto con DATABASUS_URL.
SMTP_PORTPuerto del servidor SMTP (p. ej. 587). Debe ser un entero positivo cuando SMTP_HOST está definido.
SMTP_USERNombre de usuario para la autenticación SMTP.
SMTP_PASSWORDContraseña para la autenticación SMTP. Para Gmail, use una App Password, no la contraseña de su cuenta.
SMTP_FROMLa dirección "From" del correo saliente.
SMTP_INSECURE_SKIP_VERIFYPóngalo en true para omitir la verificación del certificado TLS al conectar con el servidor SMTP. Por defecto es false. Úselo solo con servidores con certificado autofirmado en una red de confianza: desactiva la protección contra ataques de intermediario (man-in-the-middle).
DATABASUS_URLURL base pública de su instancia (p. ej. https://backup.example.com). Se usa para construir los enlaces dentro de los correos. Requerida junto con SMTP_HOST.

Captcha de registro (Cloudflare Turnstile)

Si su instancia es accesible desde internet, puede poner un desafío de Cloudflare Turnstile en los formularios de registro e inicio de sesión para dejar fuera a los bots. Ambas claves salen del panel de Turnstile, y el desafío se activa solo cuando las dos están definidas.

Para bloquear por completo los registros externos, en lugar de solo ponerles un desafío, no necesita captcha alguno: abra Databasus settings → Allow sign up en la interfaz y desactívelo. Eso cierra el formulario de registro por completo.

VariableDescripción
CLOUDFLARE_TURNSTILE_SITE_KEYClave pública de sitio de Turnstile, usada para renderizar el widget en el navegador.
CLOUDFLARE_TURNSTILE_SECRET_KEYClave secreta de Turnstile, usada por el backend para validar las respuestas al desafío.

Telemetría

Databasus envía por defecto telemetría de uso anónima y no identificable. No contiene datos personales y nos ayuda a entender cómo se usa el proyecto. Puede leer exactamente qué se recopila en la política de privacidad, y puede desactivarla por completo.

VariablePor defectoDescripción
IS_DISABLE_ANONYMOUS_TELEMETRYfalsePóngalo en true para desactivar la telemetría de uso anónima.

Registros

Databasus escribe sus registros en stdout y los duplica como JSON en databasus.log en el volumen de datos. Defina OPEN_TELEMETRY_URL y también los exportará por OpenTelemetry a un backend como VictoriaLogs, Graylog, SigNoz, Grafana Loki, Datadog o Honeycomb, o a un OpenTelemetry Collector, que es a su vez un receptor OTLP.

  • El transporte sigue el esquema. http:// y https:// envían OTLP/HTTP y usan la URL literal, ruta incluida; grpc:// y grpcs:// envían OTLP/gRPC y usan solo el host y el puerto.
  • La autenticación va en OPEN_TELEMETRY_HEADERS o en la URL como user:password@host.
  • Los secretos (contraseñas, tokens, credenciales) dentro de las URL se ocultan antes de que un registro salga del proceso.
  • Las entradas de auditoría se envían con los registros de la aplicación etiquetadas como log_type=audit e ignoran LOG_LEVEL, así que subir el nivel nunca elimina el rastro de auditoría.
VariablePor defectoDescripción
OPEN_TELEMETRY_URLURL completa del endpoint OTLP, ruta incluida. Déjela sin definir para mantener los registros en el contenedor. Una query string, un host ausente o un esquema desconocido detiene el contenedor en el arranque, en lugar de quedarse sin exportar en silencio.
OPEN_TELEMETRY_HEADERSPares key=value separados por comas que se envían con cada exportación, normalmente una clave de API. Los valores usan codificación porcentual, como en el formato estándar de OTEL_EXPORTER_OTLP_HEADERS.
LOG_LEVELinfoUno de debug, info, warn o error. Un valor no reconocido vuelve a info.
LOG_FILE_IS_ENABLEDtrueEscribe databasus.log junto al resto de los datos, con rotación a los 5 MB y conservando 3 archivos antiguos. Póngalo en false si su plataforma ya recolecta stdout.

Valores para los backends habituales, cada uno con la cabecera que lo autentica. Reemplace hosts, regiones y claves por los suyos:

BackendOPEN_TELEMETRY_URLOPEN_TELEMETRY_HEADERS
VictoriaLogshttp://victoria-logs:9428/insert/opentelemetry/v1/logsAuthorization=Basic%20dXNlcjpwYXNzd29yZA== — las credenciales que espera su vmauth o reverse proxy, ya que VictoriaLogs no tiene autenticación propia en la ruta de ingesta.
OpenTelemetry Collectorgrpc://otel-collector:4317Authorization=Bearer%20your-token — corresponde a una extensión bearertokenauth o basicauth en el receptor. Un Collector accesible solo dentro de su red normalmente no necesita ninguna.
Graylog 6.2+grpc://graylog:4317Authorization=Bearer%20your-token — el token definido en la entrada OpenTelemetry (gRPC). La entrada también acepta mTLS en su lugar.
SigNoz Cloudgrpcs://ingest.eu.signoz.cloud:443signoz-ingestion-key=your-ingestion-key
Grafana Cloudhttps://otlp-gateway-prod-eu-west-0.grafana.net/otlp/v1/logsAuthorization=Basic%20<base64> — base64 de instance-id:api-token
Honeycombhttps://api.honeycomb.io/v1/logsx-honeycomb-team=your-api-key
Datadog Agentgrpc://datadog-agent:4317Ninguna: el Agent guarda la clave de API y reenvía los registros en su nombre.

Los valores de las cabeceras usan codificación porcentual, así que el espacio después de Basic o Bearer se escribe como %20 y una coma dentro de un valor como %2C. La autenticación básica también puede ir directamente en la URL como https://user:password@host/path: Databasus la convierte en la misma cabecera y la mantiene fuera de los registros. Por http:// y grpc:// las claves y contraseñas viajan en claro, así que use https:// o grpcs:// fuera de una red de confianza.

Script de analítica

Databasus puede inyectar en la aplicación su propio fragmento de analítica o seguimiento: Google Analytics, Plausible, Umami y similares. Cuando ANALYTICS_SCRIPT está definida, su valor se inserta en el <head> de la página al arrancar.

Advertencia de seguridad: el valor se inyecta tal cual como HTML y JavaScript sin procesar, y se ejecuta con acceso completo a la interfaz de Databasus en el navegador de cada visitante. Establézcalo únicamente con un fragmento que controle y en el que confíe plenamente.

VariableDescripción
ANALYTICS_SCRIPTMarcado <script> personalizado que se inyecta antes de la etiqueta de cierre </head>. Déjela sin definir para no añadir analítica.